Files

1.6 KiB

id, status
id status
ac-0014 active

관리자 전략 카탈로그 권한과 관리 계약

Criterion

admin은 /v1/admin/strategies에서 active·inactive 전체 전략을 nick, name, config, status와 revision으로 조회하고 생성·수정·상태 변경·미참조 삭제할 수 있어야 하며, 비-admin 사용자의 모든 관리 mutation은 403이어야 한다. 동일 (name, config) POST는 effective nick과 status까지 같을 때만 idempotent 성공해야 하고 하나라도 다르면 기존 row를 바꾸지 않고 409를 반환하며, 기존 전략의 변경은 PATCH만 수행해야 한다.

Verification

  • 성공 조건: admin CRUD와 상태 변경이 영속화되고 관리 조회가 active·inactive의 nick, name, config, status와 revision을 반환하며 완전히 같은 POST 재시도는 기존 row와 revision을 유지한다.
  • 실패·경계 조건: 동일 (name, config)지만 effective nick 또는 status가 다른 POST는 409와 무변경이고, 일반 사용자 또는 권한 부족 token의 create/update/delete도 변경 없이 403이다.
  • 검사 방법: 역할별 token으로 admin 목록·생성·PATCH·DELETE, 동일 POST 재시도, 충돌 POST의 row·revision 무변경과 비-admin mutation 거부를 API 테스트로 검사한다.
  • 현재 구현 평가: admin route의 공통 require_admin, CRUD와 nick 응답 테스트는 존재한다. 다만 현재 create service는 동일 (name, config) row의 nick이 다르면 POST로 기존 row를 변경할 수 있고 비-admin POST/PATCH/DELETE 각각의 독립 negative test도 없어 이 AC는 PARTIAL이다.