Skip to content

Test Scenarios IV9

yh-noh edited this page Oct 13, 2026 · 2 revisions

Test Scenarios — IV9 IAM 보완 (mc-iam-manager)

생성: 2026-10-13 · 기준: v07 · 실행: stage · 대상: 시나리오가 없던 TC-IAM 21건 ← Test Scenarios · IV 허브 · 기능 TC · TC-IAM

시나리오 21개(IV9_Snn ↔ TC-IAM 1:1) · UI 13 / API 8 · 결과: ✅ PASS 19 · ❌ FAIL 1 · ⏭️ SKIP 1

UI 시나리오는 1테스트 1녹화(v07_IV9_Snn.webm), API 시나리오는 요청·응답이 리포트 첨부로 남는다(토큰·비밀값 가림). 테스트가 만든 객체(iv9role, iv9ws, iv9ws2, ptmp)는 각 시나리오의 정리 단계에서 삭제했다.

요약

시나리오 기능 TC 구분 제목 결과 spec
IV9_S01 TC-IAM-001 UI 서비스 헬스체크 (GET /readyz): Cloud Overview Readyz 영역에서 프레임워크별 ready 버튼 → OK/Error ✅ 공통 IV9_S01
IV9_S02 TC-IAM-002 API 초기 관리자 계정 설정: POST /api/initial-admin → 플랫폼 관리자 로그인·platformAdmin 역할 확인 ✅ 공통 IV9_S02
IV9_S03 TC-IAM-003 API 역할·메뉴·API 권한 일괄 초기화: initial-menus → initial-role-menu-permission-yaml → sync-mcmp-apis → 데이터 존재·유지 ✅ 공통 IV9_S03
IV9_S04 TC-IAM-004 API 프로젝트 동기화: GET /api/setup/projects/sync-diff → POST /api/setup/sync-projects → 차이 해소 ✅ 공통 IV9_S04
IV9_S05 TC-IAM-010 UI 로그아웃: 프로필 버튼 → Logout → 로그아웃 화면 → 콘솔 주소 직접 접근 차단 ✅ 공통 IV9_S05
IV9_S06 TC-IAM-011 API 토큰 갱신: POST /api/auth/refresh {refresh_token} → 새 access_token, 잘못된 토큰 401·빈 값 400 ✅ 공통 IV9_S06
IV9_S07 TC-IAM-012 API 토큰 검증 및 자동 갱신: POST /api/auth/validate (유효 토큰 valid:true · 무효 토큰은 refresh 로 재발급 · 헤더 없으면 401) ❌ 공통 IV9_S07
IV9_S08 TC-IAM-014 UI 사용자 목록 조회: Organizations > Users → 목록·관리자 mcmp 행 표시 ✅ 공통 IV9_S08
IV9_S09 TC-IAM-015 UI 사용자 상세 조회: Users 목록에서 사용자 클릭 → User Info 영역 표시 ✅ 공통 IV9_S09
IV9_S10 TC-IAM-018 UI 사용자 동기화: Users 화면에서 동기화(Sync) 기능 확인 ⏭️ 공통 IV9_S10
IV9_S11 TC-IAM-019 API 회사(법인) 등록: 필수값 누락 400 · 등록 정보 조회 · 같은 realm 중복 등록 409 ✅ 공통 IV9_S11
IV9_S12 TC-IAM-020 API 회사 정보 수정·비활성화·활성화: PUT /api/company → DELETE(inactive) → POST /activate(active) → 원래 값 복원 ✅ 공통 IV9_S12
IV9_S13 TC-IAM-033 UI 역할 생성: Workspaces > Roles → Add Role → Role Name·Description → Save Role → 목록 표시 (정리: 삭제) ✅ 공통 IV9_S13
IV9_S14 TC-IAM-034 UI 역할 목록 조회: Workspaces > Roles 진입·Refresh → 기본 역할 5종 표시 ✅ 공통 IV9_S14
IV9_S15 TC-IAM-035 UI 역할 상세 조회: 역할 목록에서 역할 클릭 → Role Detail 표시 ✅ 공통 IV9_S15
IV9_S16 TC-IAM-038 UI 워크스페이스 역할에 사용자 할당: Users → 사용자 선택 → Workspace 영역 + → Workspace Role viewer → 표시 (정리: Unassign) ✅ 공통 IV9_S16
IV9_S17 TC-IAM-048 API MCMP API 동기화: POST /api/setup/sync-mcmp-apis → 서비스·액션 목록 존재·유지 ✅ 공통 IV9_S17
IV9_S18 TC-IAM-049 UI 워크스페이스 목록 조회: Workspaces 화면 → 목록(ws01) 표시 ✅ 공통 IV9_S18
IV9_S19 TC-IAM-050 UI 워크스페이스 생성: Add Workspace → 이름·설명 → Confirm → 목록 표시 (정리: 삭제) ✅ 공통 IV9_S19
IV9_S20 TC-IAM-051 UI 워크스페이스 사용자 추가: 임시 워크스페이스 생성 → Members 탭 + → 사용자·역할 → 추가한 사용자 표시 (정리: 해제·삭제) ✅ 공통 IV9_S20
IV9_S21 TC-IAM-053 UI 프로젝트 수정: Workspaces > Projects → 임시 프로젝트 선택 → Edit → 설명 변경 → 저장 (정리: 삭제) ✅ 공통 IV9_S21

상세

IV9_S01

서비스 헬스체크 (GET /readyz): Cloud Overview Readyz 영역에서 프레임워크별 ready 버튼 → OK/Error

항목 내용
기능 TC TC-IAM-001
화면 Cloud SPs > Cloud Overview
구분 정상 · 공통 · UI
사전 조건 admin 로그인
자동화 IV9_S01

절차

1.admin 로그인 2.Cloud SPs > Cloud Overview 이동 3.Readyz 영역의 프레임워크별 ready 버튼 클릭 4.OK/Error 결과 기록

입력값

기대결과

프레임워크마다 OK 또는 Error 표시

참고

개선 메모: Readyz 표에 mc-iam-manager 행이 없음. Error 3건은 프레임워크 readyz 경로 확인 필요(data-manager 는 /readyZ)

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — OK: mc-cost-optimizer, mc-infra-manager, mc-workflow-manager / Error(404): mc-application-manager, mc-data-manager, mc-observability · 녹화 v07_IV9_S01.webm

IV9_S02

초기 관리자 계정 설정: POST /api/initial-admin → 플랫폼 관리자 로그인·platformAdmin 역할 확인

항목 내용
기능 TC TC-IAM-002
화면 API (mc-iam-manager)
구분 정상 · 공통 · API
사전 조건 설치 완료(post-initial 실행됨)
자동화 IV9_S02

절차

1.POST /api/initial-admin 2.플랫폼 관리자 로그인 3.토큰 realm 역할 platformAdmin 확인 4.플랫폼 관리자 전용 API(GET /api/setup/check-user-roles) 호출

입력값

본문 없음 / 관리자 계정은 .env PLATFORMADMIN

기대결과

initial-admin 200, 로그인 성공, platformAdmin 역할, 관리자 전용 API 200

참고

TC 문구 POST /api/init → 현재 POST /api/initial-admin(인증 없이 호출 가능). 개선 메모: 플랫폼 관리자의 GET /api/users/me/platform-roles 가 null(Keycloak realm 역할 미반영)

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — initial-admin 재호출 200(멱등), 로그인·platformAdmin·관리자 API 확인

IV9_S03

역할·메뉴·API 권한 일괄 초기화: initial-menus → initial-role-menu-permission-yaml → sync-mcmp-apis → 데이터 존재·유지

항목 내용
기능 TC TC-IAM-003
화면 API (mc-iam-manager)
구분 정상 · 공통 · API
사전 조건 플랫폼 관리자 로그인
자동화 IV9_S03

절차

1.POST /api/setup/initial-menus 2.GET /api/setup/initial-role-menu-permission-yaml 3.POST /api/setup/sync-mcmp-apis 4.메뉴·역할·MCMP API 목록 확인

입력값

기대결과

각 호출 성공, 메뉴·역할·MCMP API 존재, 기존 데이터 수 유지

참고

TC 문구 POST /api/init/platform 은 현재 없음 — 설치 스크립트(1_setup_auto.sh)와 같은 3개 API 로 대체

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 메뉴 61→61, 역할 5→5, mcmp-apis 200(이미 있는 메뉴는 보호 장치로 건너뜀)

IV9_S04

프로젝트 동기화: GET /api/setup/projects/sync-diff → POST /api/setup/sync-projects → 차이 해소

항목 내용
기능 TC TC-IAM-004
화면 API (mc-iam-manager ↔ mc-infra-manager)
구분 정상 · 공통 · API
사전 조건 플랫폼 관리자 로그인
자동화 IV9_S04

절차

1.sync-diff 조회 2.POST /api/setup/sync-projects 3.sync-diff 재조회

입력값

기대결과

"Project synchronization successful", IAM 에 없는 namespace(missingProjects) 0

참고

TC 문구 POST /api/sync/projects → 현재 POST /api/setup/sync-projects

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 동기화 성공, missingProjects 0, 미할당 project 0

IV9_S05

로그아웃: 프로필 버튼 → Logout → 로그아웃 화면 → 콘솔 주소 직접 접근 차단

항목 내용
기능 TC TC-IAM-010
화면 상단 프로필 메뉴
구분 정상 · 공통 · UI
사전 조건 admin 로그인
자동화 IV9_S05

절차

1.admin 로그인 2.상단 프로필 버튼 클릭 3.Logout 클릭 4.로그인 화면 이동(Back to Login) 5.콘솔 주소 직접 열기 → 차단

입력값

기대결과

로그아웃 후 로그인 화면, 콘솔 직접 접근 차단

참고

참고: Logout 후 바로 로그인 화면이 아니라 로그아웃 안내 화면이 먼저 나옴(TC 문구와 차이)

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 로그아웃 → /auth/logout 화면(Back to Login), 콘솔 주소 접근 시 /auth/unauthorized#cookieError 로 차단 · 녹화 v07_IV9_S05.webm

IV9_S06

토큰 갱신: POST /api/auth/refresh {refresh_token} → 새 access_token, 잘못된 토큰 401·빈 값 400

항목 내용
기능 TC TC-IAM-011
화면 API (mc-iam-manager)
구분 정상 · 공통 · API
사전 조건 로그인 토큰 보유
자동화 IV9_S06

절차

1.로그인 2.POST /api/auth/refresh 3.새 토큰으로 GET /api/users/me 4.잘못된 refresh_token·빈 값 호출

입력값

refresh_token / invalid.token.value / {}

기대결과

200 새 access_token(이전과 다름), 새 토큰으로 API 성공, 401·400

참고

TC 문구 /api/refresh → 현재 /api/auth/refresh

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 새 토큰 발급·사용 성공, 오류 응답 401/400

IV9_S07

토큰 검증 및 자동 갱신: POST /api/auth/validate (유효 토큰 valid:true · 무효 토큰은 refresh 로 재발급 · 헤더 없으면 401)

항목 내용
기능 TC TC-IAM-012
화면 API (mc-iam-manager)
구분 정상 · 공통 · API
사전 조건 로그인 토큰 보유
자동화 IV9_S07

절차

1.유효 access_token + refresh_token 으로 validate 2.서명이 깨진 access_token + 유효 refresh_token 으로 validate 3.헤더 없음·refresh_token 없음

입력값

Authorization: Bearer , {refresh_token}

기대결과

  1. valid:true 2) valid:false + 새 토큰 3) 401·400

참고

제품 결함 후보: validate 의 자동 갱신 경로 도달 불가. 또 access·refresh TTL 이 모두 1800초라 만료 후 갱신도 불가. TC 문구 /api/validate → 현재 /api/auth/validate

결과 (v07)

  • 공통 ❌ FAIL (2026-10-13) — 1) valid:true 정상. 2) 401 "Invalid token" — /api/auth/validate 가 인증 미들웨어 예외 목록에 없어 무효·만료 토큰이 핸들러에 닿기 전에 거부됨(자동 갱신 경로 실행 불가)

IV9_S08

사용자 목록 조회: Organizations > Users → 목록·관리자 mcmp 행 표시

항목 내용
기능 TC TC-IAM-014
화면 Organizations > Users
구분 정상 · 공통 · UI
사전 조건 admin 로그인
자동화 IV9_S08

절차

1.admin 로그인 2.Organizations > Users 이동 3.목록 행 수·mcmp 행 확인

입력값

기대결과

사용자 목록 표시, mcmp 포함

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 9명 표시, mcmp 포함 · 녹화 v07_IV9_S08.webm

IV9_S09

사용자 상세 조회: Users 목록에서 사용자 클릭 → User Info 영역 표시

항목 내용
기능 TC TC-IAM-015
화면 Organizations > Users
구분 정상 · 공통 · UI
사전 조건 admin 로그인, 테스트 사용자(pending01)
자동화 IV9_S09

절차

1.Users 이동 2.사용자 행(pending01) 클릭 3.User Info 영역의 이름·이메일·상태·역할 확인

입력값

pending01

기대결과

User Info 영역에 사용자 정보 표시

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — User Info 에 이름·이메일·상태·역할 표시 · 녹화 v07_IV9_S09.webm

IV9_S10

사용자 동기화: Users 화면에서 동기화(Sync) 기능 확인

항목 내용
기능 TC TC-IAM-018
화면 Organizations > Users
구분 정상 · 공통 · UI
사전 조건 admin 로그인
자동화 IV9_S10

절차

1.Users 이동 2.버튼·⌄ 메뉴에서 Sync 기능 찾기

입력값

기대결과

사용자 동기화 실행·결과 표시

참고

기능목록 제외 또는 SKIP 유지 결정 필요

결과 (v07)

  • 공통 ⏭️ SKIP (2026-10-13) — Users 화면에 동기화 UI 없음, mc-iam-manager 에도 사용자 동기화 API 없음 — 현 버전 미제공 기능(근거 스크린샷) · 녹화 v07_IV9_S10.webm

IV9_S11

회사(법인) 등록: 필수값 누락 400 · 등록 정보 조회 · 같은 realm 중복 등록 409

항목 내용
기능 TC TC-IAM-019
화면 API (mc-iam-manager)
구분 정상 · 공통 · API
사전 조건 설치 완료(Default Company 등록됨)
자동화 IV9_S11

절차

1.POST /api/company (realm_name 등 누락) 2.GET /api/company 3.같은 realm 으로 POST

입력값

name 만 / name·realm_name·kc_client_id·kc_client_secret

기대결과

400, 등록 정보(active) 조회, 409 중복 거부·기존 정보 유지

참고

회사가 없는 서버에서만 실제 신규 등록 가능(시스템당 1개). TC 문구 POST /api/company

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 400 / Default Company(realm mciam, active) / 409

IV9_S12

회사 정보 수정·비활성화·활성화: PUT /api/company → DELETE(inactive) → POST /activate(active) → 원래 값 복원

항목 내용
기능 TC TC-IAM-020
화면 API (mc-iam-manager)
구분 정상 · 공통 · API
사전 조건 회사 등록됨
자동화 IV9_S12

절차

1.설명 수정 후 조회 2.name 없이 수정 → 400 3.비활성화 → inactive 4.활성화 → active 5.원래 설명·상태 복원

입력값

description = "iv9 edited <시각>"

기대결과

수정 반영, 400, inactive, active, 원래 값 복원

참고

참고: 회사 status 는 로그인 등 다른 기능에서 쓰이지 않음(소스 확인)

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 수정·비활성화·활성화·복원 모두 정상

IV9_S13

역할 생성: Workspaces > Roles → Add Role → Role Name·Description → Save Role → 목록 표시 (정리: 삭제)

항목 내용
기능 TC TC-IAM-033
화면 Workspaces > Roles
구분 정상 · 공통 · UI
사전 조건 admin 로그인
자동화 IV9_S13

절차

1.Roles 이동 2.Add Role → Create New Role 영역 3.Role Name(iv9role)·Description 입력 4.Save Role 5.목록·상세 확인 6.(정리) iv9role 삭제

입력값

Role Name iv9role

기대결과

"role created successfully", 목록·상세 표시

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 생성 메시지·목록·상세 확인, 정리 삭제 완료 · 녹화 v07_IV9_S13.webm

IV9_S14

역할 목록 조회: Workspaces > Roles 진입·Refresh → 기본 역할 5종 표시

항목 내용
기능 TC TC-IAM-034
화면 Workspaces > Roles
구분 정상 · 공통 · UI
사전 조건 admin 로그인
자동화 IV9_S14

절차

1.admin 로그인 2.Workspaces > Roles 이동 3.Refresh 4.admin·operator·viewer·billadmin·billviewer 확인

입력값

기대결과

등록된 역할 목록 표시

참고

참고: TC 문구는 "계층으로 표시"이나 화면은 평면 표

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 기본 역할 5종 표시 · 녹화 v07_IV9_S14.webm

IV9_S15

역할 상세 조회: 역할 목록에서 역할 클릭 → Role Detail 표시

항목 내용
기능 TC TC-IAM-035
화면 Workspaces > Roles
구분 정상 · 공통 · UI
사전 조건 admin 로그인
자동화 IV9_S15

절차

1.Roles 이동 2.역할(viewer) 클릭 3.Role Detail(Name, Description, Platform/Workspace access, CSP Role) 확인

입력값

viewer

기대결과

하단 Role Detail 표시

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — Role Detail 항목 표시 · 녹화 v07_IV9_S15.webm

IV9_S16

워크스페이스 역할에 사용자 할당: Users → 사용자 선택 → Workspace 영역 + → Workspace Role viewer → 표시 (정리: Unassign)

항목 내용
기능 TC TC-IAM-038
화면 Organizations > Users
구분 정상 · 공통 · UI
사전 조건 admin 로그인(상단 Workspace=ws01), 테스트 사용자(pending01)
자동화 IV9_S16

절차

1.Users 이동 2.사용자(pending01) 선택 3.Workspace 영역 + → Role Type=Workspace Role, Role=viewer → Add Role 4.Workspace 영역에 ws01 표시 확인 5.(정리) Workspaces > ws01 > Members 에서 Unassign

입력값

pending01 / viewer / ws01

기대결과

User Info Workspace 영역에 할당 표시

참고

개선 메모: Add Role Mapping 팝업에 Workspace 선택 없음(상단 선택 Workspace 에 할당), 성공 메시지 없음(Utils.showAlert 빈 함수), User Info Workspace 카드 삭제 버튼 미구현

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 할당 저장(assignWorkspaceRole 200)·표시 확인, 정리 Unassign 완료 · 녹화 v07_IV9_S16.webm

IV9_S17

MCMP API 동기화: POST /api/setup/sync-mcmp-apis → 서비스·액션 목록 존재·유지

항목 내용
기능 TC TC-IAM-048
화면 API (mc-iam-manager)
구분 정상 · 공통 · API
사전 조건 플랫폼 관리자 로그인
자동화 IV9_S17

절차

1.동기화 전 목록 2.POST /api/setup/sync-mcmp-apis 3.POST /api/mcmp-apis/list

입력값

기대결과

"Successfully triggered MCMP API sync", 서비스·액션 존재(감소 없음)

참고

참고: 액션이 정의된 서비스는 14개 중 6개

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 서비스 14, 액션 973 유지

IV9_S18

워크스페이스 목록 조회: Workspaces 화면 → 목록(ws01) 표시

항목 내용
기능 TC TC-IAM-049
화면 Workspaces
구분 정상 · 공통 · UI
사전 조건 admin 로그인
자동화 IV9_S18

절차

1.admin 로그인 2.Workspaces 화면 이동 3.ws01 확인

입력값

기대결과

워크스페이스 목록 표시

참고

참고: 좌측 메뉴에 Workspaces 목록 링크가 없어 그룹 주소로 이동

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — ws01 포함 목록 표시 · 녹화 v07_IV9_S18.webm

IV9_S19

워크스페이스 생성: Add Workspace → 이름·설명 → Confirm → 목록 표시 (정리: 삭제)

항목 내용
기능 TC TC-IAM-050
화면 Workspaces
구분 정상 · 공통 · UI
사전 조건 admin 로그인
자동화 IV9_S19

절차

1.Workspaces 이동 2.Add Workspace → 이름(iv9ws)·설명 → Confirm 3.목록·상세 확인 4.(정리) 삭제

입력값

iv9ws

기대결과

목록·상세 표시

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 생성·표시 확인, 정리 삭제(204) · 녹화 v07_IV9_S19.webm

IV9_S20

워크스페이스 사용자 추가: 임시 워크스페이스 생성 → Members 탭 + → 사용자·역할 → 추가한 사용자 표시 (정리: 해제·삭제)

항목 내용
기능 TC TC-IAM-051
화면 Workspaces > Members
구분 정상 · 공통 · UI
사전 조건 admin 로그인, 테스트 사용자(pending01)
자동화 IV9_S20

절차

1.임시 워크스페이스 iv9ws2 생성 2.Members 탭 열기 3.+ → pending01·viewer → Confirm 4.Members 에 pending01(viewer) 표시 확인 5.Users > pending01 Workspace 에 iv9ws2 확인 6.(정리) 멤버 해제 → 워크스페이스 삭제

입력값

iv9ws2 / pending01 / viewer

기대결과

추가한 사용자가 Members 와 User Info 에 표시

참고

제품 결함 후보(판정과 별도): POST /api/workspaces/id/{workspaceId}/users/list 가 경로 workspaceId 를 무시(WorkspaceFilterRequest 에 경로 바인딩 없음) → 다른 워크스페이스 멤버가 섞여 표시, 역할이 있는 사용자는 Add user 목록에서 빠짐, 멤버가 남은 워크스페이스 삭제 시 500(화면 오류 미표시). 멤버 행 이름이 "undefined undefined" 로 표시

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 추가·표시 확인, 정리(해제 200·삭제 204) 완료. 결함 메모: 새 워크스페이스 Members 에 다른 워크스페이스(ws01) 멤버 7명이 함께 표시됨 · 녹화 v07_IV9_S20.webm

IV9_S21

프로젝트 수정: Workspaces > Projects → 임시 프로젝트 선택 → Edit → 설명 변경 → 저장 (정리: 삭제)

항목 내용
기능 TC TC-IAM-053
화면 Workspaces > Projects
구분 정상 · 공통 · UI
사전 조건 admin 로그인
자동화 IV9_S21

절차

1.Projects 이동 2.임시 Project ptmp 준비 3.선택 → Edit 4.Description 변경 → Save 5.다시 열어 확인(default/p1/system 유지) 6.(정리) Unassign → Delete

입력값

Description "iv9 edited <시각>"

기대결과

"Project updated.", 변경 설명 표시

결과 (v07)

  • 공통 ✅ PASS (2026-10-13) — 저장·표시 확인, 정리 삭제 완료 · 녹화 v07_IV9_S21.webm

Clone this wiki locally