Repository navigation
Manual Test
범수 edited this page Sep 12, 2026
·
1 revision
한 티켓을 REQUESTER -> APPROVER -> OPERATOR 순서로 넘겨 보면서 역할 분리와 되돌리기를 확인합니다. 전체 명령과 문제 해결 표는 저장소의 수동 테스트 문서를 기준으로 합니다.
개발용 대상 DB를 실행합니다.
docker compose up -d
docker exec dbtower-postgres createdb -U postgres dbtower_clicktest별도 메타 DB와 다섯 역할 계정으로 앱을 실행합니다.
DEMO_PASSWORD=$(openssl rand -base64 24)
DEMO_TOKEN=$(openssl rand -hex 32)
LOCAL_DB_PASSWORD='<docker compose 개발 DB 비밀번호>'
SPRING_PROFILES_ACTIVE=dev \
DBTOWER_DB_URL='jdbc:postgresql://127.0.0.1:15432/dbtower_clicktest?reWriteBatchedInserts=true' \
DBTOWER_DB_USERNAME=postgres \
DBTOWER_DB_PASSWORD="$LOCAL_DB_PASSWORD" \
DBTOWER_ADMIN_PASSWORD="$DEMO_PASSWORD" \
DBTOWER_VIEWER_PASSWORD="$DEMO_PASSWORD" \
DBTOWER_REQUESTER_PASSWORD="$DEMO_PASSWORD" \
DBTOWER_APPROVER_PASSWORD="$DEMO_PASSWORD" \
DBTOWER_OPERATOR_PASSWORD="$DEMO_PASSWORD" \
DBTOWER_API_TOKEN="$DEMO_TOKEN" \
DBTOWER_WEBHOOK_URL='' \
./gradlew bootRun웹 콘솔: http://localhost:8080
생성된 비밀번호와 토큰은 현재 터미널에서 확인해 두고 폐기 가능한 로컬 환경에서만 사용합니다.
LOCAL_DB_PASSWORD에는 docker-compose.yml의 개발 PostgreSQL 비밀번호를 입력합니다.
- 가장 간단한 방법은 역할을 바꿀 때마다 로그아웃하는 것입니다.
- 여러 역할을 동시에 열려면 서로 다른 Chrome 프로필이나 서로 다른 브라우저를 사용합니다.
- 로그인 직후 우측 상단의 역할 배지를 먼저 확인합니다.
-
viewer: 관제 화면은 보이고 워크벤치 진입은 없어야 합니다. -
requester: 조회와 변경 요청은 가능하지만 승인·실행은 없어야 합니다. -
approver: 드라이런과 승인·반려는 가능하지만 실행은 없어야 합니다. -
operator: 승인된 티켓의 실행·되돌리기는 가능하지만 승인·반려는 없어야 합니다. -
admin: 사용자·역할과 감사 로그를 포함한 관리 기능이 보여야 합니다.
requester로 현재 값을 조회합니다.
SELECT id, name, grade
FROM customers
WHERE id = 3;다음 변경을 즉시 실행하지 않고 티켓으로 요청합니다.
UPDATE customers
SET grade = 'BRONZE'
WHERE id = 3;-
requester가 변경 요청을 제출합니다. -
approver가 드라이런 결과와 예상 영향 행 수를 확인하고 승인합니다. -
operator가 승인된 티켓을 실행합니다. - 실행 기록에서 요청자, 승인자, 실행자가 서로 다른지 확인합니다.
-
operator가 되돌리기를 실행해 원래 등급을 복원합니다. -
admin이 감사 로그에서 전체 흐름의 실제 사용자를 확인합니다.
테스트 대상을 처음 등록하는 API 명령은 전체 수동 테스트 문서에 있습니다.
DBTower 저장소 · 문서 안내 · 이슈