Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • I intern-homework-was
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • mingyeong.cha
  • intern-homework-was
  • Issues
  • #7
Closed
Open
Issue created Sep 22, 2026 by mingyeong.cha@mingyeong.chaOwner

[test] 대화 API, ACL 테스트

name: Feature Request
labels: 'Type : Feature'

기능 요약

대화 API와 RLS 기반 접근 제어를 검증하는 테스트를 추가한다.

상세 설명

  • AccessMatrixTest — 계정 × 리소스 접근 매트릭스
    • 남의 PRIVATE 대화는 403이 아니라 404
    • 없는 것과 못 보는 것이 같은 응답이다
  • ConversationApiTest — 대화 API 8개
    • 생성 후 목록에 노출된다 / 타인의 대화는 목록에도 없다
    • 생성 응답에 acl_scope가 담긴다
    • 제목을 생략하면 기본값이 들어간다
    • 메시지 이력이 seq 순서로 복원된다
    • 타인의 대화·없는 대화는 404, 미인증은 401
  • AclScopeGeneratedColumnTest — DB 생성 컬럼 검증
    • PRIVATE 대화는 user: scope를 DB에서 받아온다
    • TEAM 전환 시 acl_scope가 team:으로 재계산된다
    • 귀속은 생성 후 변경할 수 없다 (트리거)
  • MessageSeqConcurrencyTest — 동시 삽입에도 seq가 충돌하지 않는다
  • JpaAuditingTest — createdDate 저장 시 채워짐, lastModifiedDate 수정 시 갱신

참고 자료

  • Junit5, Mockito 사용하기
  • TransactionManager와 TransactionSynchronizationManager
  • JUnit - @ParameterizedTest, @ValueSource, @CsvSource, @MethodSource 어노테이션
  • Executors.newFixedThreadPool()
Edited Sep 23, 2026 by mingyeong.cha
Assignee
Assign to
Time tracking