2.9 KiB
2.9 KiB
Milestone: Native 단위 테스트 확장
위치
- Roadmap:
agent-ops/roadmap/ROADMAP.md - Phase:
agent-ops/roadmap/phase/android-runtime-confidence/PHASE.md
목표
Android native runtime의 핵심 helper와 method contract를 단위 테스트로 검증한다. 단순 platform version boilerplate 테스트를 넘어 payload, token, signing key, storage, helper behavior를 변경 위험에 맞게 확인한다.
상태
[계획]
구현 잠금
- 상태: 해제
- 결정 필요: 없음
범위
- Android plugin method call contract 테스트
- payload parsing과 fallback 기준 테스트
- token/signing key 저장과 조회 테스트
- Room 또는 helper 계층의 테스트 가능성 개선
필수 기능
Epic: [method-contract] Method Channel 계약
Flutter Dart API가 호출하는 native method의 입력/출력 계약을 검증한다.
- [save-token]
saveDeviceToken입력 검증과 저장 호출을 테스트한다 - [get-token]
getDeviceToken반환 계약을 테스트한다 - [auth-token]
setAuthToken과clearAuthToken계약을 테스트한다 - [signing-key]
setSigningKey저장 계약을 테스트한다
Epic: [payload] Payload 처리
Mattermost push payload key와 fallback 규칙을 안정적으로 유지한다.
- [intent-payload] intent extras가 opened event payload로 변환되는지 테스트한다
- [snake-case]
server_url,channel_id,root_id,is_crt_enabledkey 호환을 유지한다 - [missing-server]
server_url누락 시 fallback 정책을 테스트한다
Epic: [storage] 저장 계층
테스트하기 어려운 저장 경로를 작게 분리한다.
- [db-boundary] Room/DatabaseHelper 테스트 경계를 정리한다
- [prefs-boundary] SharedPreferences signing key 저장 경계를 테스트한다
- [test-fixtures] native unit test fixture를 추가한다
완료 기준
- Android native test가 platform version boilerplate 이상의 plugin 계약을 검증한다
- token, auth token, signing key 경로가 테스트로 보호된다
- payload key 변경 시 테스트가 실패할 수 있다
- Android unit test 실행 방법이 문서와 일치한다
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 없음
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- 실제 FCM 수신 E2E
- 실제 Mattermost 서버 ACK
- iOS/macOS native 테스트
작업 컨텍스트
- 관련 경로:
android/src/main/**,android/src/test/**,example/android/** - 표준선(선택): native unit test는 외부 Firebase/Mattermost 네트워크 없이 deterministic하게 유지한다
- 선행 작업: 품질 게이트 자동화
- 후속 작업: 알림 액션 흐름 검증, ACK와 네트워크 회복성 검증
- 확인 필요: 없음