* docs: preserve original issue 5 body * feat: add service token rename command * test: normalize rich option errors
1.6 KiB
1.6 KiB
id, status
| id | status |
|---|---|
| ac-0044 | active |
service-token rename CLI 확인·출력·회귀 계약
Criterion
CLI는 pfhub service-token rename NAME --new-name NEW_NAME [--force/-f]를 제공해야 한다. 기본 실행은 old/new name을 식별하는 확인 prompt를 표시하고 거부 시 성공 exit로 종료하면서 어떠한 rename도 수행하지 않아야 하며, --force/-f는 prompt 없이 같은 동작을 수행해야 한다. 성공한 table 및 JSON 출력은 token_id, old_name, new_name, changed만 표현하고 raw/masked token, token hash/prefix나 다른 secret-derived 값을 포함하지 않아야 한다. Missing/duplicate domain error는 기존 CLI error contract에 따라 non-zero로 반환되어야 하며 기존 list, issue, rotate, rebind, revoke, migrate-null-daemon의 동작은 유지되어야 한다.
Verification
- 성공 조건: command help와 required
--new-name가 노출되고, 승인 prompt와--force실행의 table/JSON이 정확한 네 필드 및changed상태를 반환한다. Same-name 결과도changed=false로 직렬화된다. - 실패·경계 조건: prompt 거부는 exit code 0과 zero service/repository call을 보장한다. Missing/duplicate는 exit code 1과 지정된 message를 반환한다. 모든 success/error 출력에 raw token, hash, prefix와 credential이 없어야 한다.
- 검사 방법: Typer CLI runner test로 help, missing option, prompt accept/reject,
--force와-f, table/JSON, same-name, missing/duplicate를 검증하고 기존 service-token CLI regression suite 및 full test suite를 실행한다.