Conversation
- 실제로는 admin, anon 계정만 자동 생성됨 - user 계정은 설정에만 존재하고 DataInitializer에서 생성하지 않음 - 정확한 정보로 수정하여 사용자 혼란 방지
- 관리자 계정(admin)만 사용자 대상 기본 계정으로 문서화 - anon 계정은 E2E 테스트 편의용으로 내부적으로 생성됨 - 사용자 문서에서는 관리자 계정만 안내하여 간소화
- README.md: REGULAR_PASSWORD 환경변수 정보 제거 - application.yml: regular 사용자 설정 제거 - DefaultUsersProperties.java: regular 필드 제거 - DataInitializer.java: anon 사용자 생성 코드 제거 - AuthSteps.java: anon/regular 관련 상수 및 헬퍼 메서드 제거 - E2E 테스트: 동적 사용자 생성 방식으로 전환 이제 관리자(admin) 계정만 자동 생성되며, 테스트는 필요 시 동적으로 일반 사용자를 생성하는 방식으로 변경됨
- release.yml: Java 버전 21로 수정 - Dockerfile: Java 버전 21로 수정 - Dockerfile.cicd: Java 버전 21로 수정 - README.md: Java 버전 21로 수정 - build.gradle: Java 버전 21로 수정 - docker-compose.yml: stop_grace_period 추가 - application.yml: graceful shutdown 활성화 및 actuator 헬스체크 추가
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
| @BeforeEach | ||
| void loginDefaults() { | ||
| admin = AuthSteps.loginAdmin(); | ||
| regular = AuthSteps.loginRegular(); | ||
|
|
||
| // 일반 사용자는 동적으로 생성 | ||
| String testUsername = "testuser_" + System.currentTimeMillis(); | ||
| AuthSteps.register(testUsername, "TestUser123!", "Test User", "test@example.com"); | ||
| regular = AuthSteps.loginAs(testUsername, "TestUser123!"); |
There was a problem hiding this comment.
[P1] Register test users with unique emails
The setup creates a new username for each test but always registers with test@example.com. UserCommandService.create rejects duplicate emails, so after the first test the signup call returns 409 without creating the user and the subsequent loginAs immediately fails with 401. This makes the board E2E suite fail after the initial method. Generate a unique email per registration or clear the database between tests.
Useful? React with 👍 / 👎.
| @BeforeEach | ||
| void loginDefaultUsers() { | ||
| // DataInitializer가 기본 admin/regular를 생성하므로 바로 로그인 | ||
| // DataInitializer가 기본 admin을 생성하므로 바로 로그인 | ||
| admin = AuthSteps.loginAdmin(); | ||
| regular = AuthSteps.loginRegular(); | ||
|
|
||
| // 일반 사용자는 동적으로 생성 | ||
| String testUsername = "testuser_" + System.currentTimeMillis(); | ||
| AuthSteps.register(testUsername, "TestUser123!", "Test User", "test@example.com"); | ||
| regular = AuthSteps.loginAs(testUsername, "TestUser123!"); |
There was a problem hiding this comment.
[P1] Avoid duplicate emails in E2E user setup
As above, the per-test setup always registers the dynamic user with the static email test@example.com. Because emails must be unique, only the first test actually creates a user; subsequent registrations fail with 409 and the follow‑up login fails, breaking the rest of the user E2E cases. Use a unique email (e.g., append the timestamp) when registering test users.
Useful? React with 👍 / 👎.
📋 변경사항
Java 버전을 25에서 21 LTS로 다운그레이드했습니다.
🔄 수정된 파일들
build.gradle: Gradle toolchain을 Java 21로 변경Dockerfile: 빌드 및 런타임 이미지를 Java 21로 변경Dockerfile.cicd: CI/CD 런타임 이미지를 Java 21로 변경.github/workflows/release.yml: GitHub Actions Java 버전을 21로 변경README.md: 모든 Java 25 언급을 Java 21로 업데이트✨ 주요 개선사항
🧪 테스트 결과
compileJava,compileTestJava정상 완료bootJar정상 완료📚 관련 정보
Closes #N/A