접근권한 시험
막혀야 할 기록이 실제로 막히는지 요청을 보내 확인합니다
시험 계정 3개로 증례·파일·관리 기능 5곳에 직접 요청을 보냅니다. 칸마다 기대한 결과와 실제 결과를 나란히 적고, 하나라도 다르면 고친 뒤 다시 돌립니다.
API 라우트마다 로그인 여부와 역할·기관을 확인합니다.
15칸 일치 0 불일치 0 대기 15 모의 응답
Supabase 테이블에 사용자·기관 조건을 걸어 DB가 직접 걸러냅니다.
15칸 일치 0 불일치 0 대기 15 모의 응답
불일치 1칸 · A병원 일반 → 같은 기관 다른 사용자 증례
증례 테이블 읽기 정책이 기관만 확인하고 작성자를 확인하지 않아 같은 병원 동료의 증례가 보였습니다. 정책에 작성자 조건을 더하고 이 칸만 다시 시험합니다.
using (org_id = auth.org_id() and (owner_id = auth.uid() or auth.is_org_admin()))
정책 수정 뒤 재시험 통과 · 15칸 모두 일치
검사지 파일 버킷에 기관·작성자 경로 정책을 겁니다.
15칸 일치 0 불일치 0 대기 15 모의 응답
선택한 칸
A병원 일반 → 내 증례
- 시험 계정
- a-user01
- 보낸 요청
GET /api/cases/SC-0412- 기대
- 허용
- 실제 응답
- 아직 실행 전
- 판정
- 대기
시험은 이렇게 돕니다
-
1
테스트 환경에서만
시험 계정 3개와 합성 증례 120건은 테스트(Preview) DB에만 있습니다. 운영 데이터는 쓰지 않습니다.
-
2
PR마다 다시
코드가 바뀔 때마다 GitHub Actions가 세 가지 경로의 45칸을 다시 돌립니다. 하나라도 다르면 Preview가 만들어지지 않습니다.
-
3
결과는 검수 자료로
칸별 요청과 응답이 그대로 남아, 납품 때 접근권한 검증 자료로 제출합니다.