Skip to content

[Test] 오프라인 회귀 및 전체 E2E 자동 CI 연결 - #631

Closed
edv-Shin wants to merge 4 commits into
devfrom
fix/issue-617
Closed

edv-Shin wants to merge 4 commits into
devfrom
fix/issue-617

Conversation

@edv-Shin

@edv-Shin edv-Shin commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

연관된 이슈

Related to #617 — 선행 기능과 남은 인수 기준이 있어 Draft로 올립니다. #617을 완료 처리하지 않습니다.

선행 PR #625·#626이 모두 머지된 dev를 반영했습니다. 이 PR은 fix/issue-617 → dev이며 #584 구현 코드를 중복 포함하지 않습니다.

작업 내용

  • 자동 trusted dev PR/push가 --suite all을 사용하도록 변경했습니다. 로그인·탭·운동 회귀·피드·타이머·매칭·채팅·프로필·오프라인을 합쳐 33개 결과 case가 선택됩니다.
  • 채팅은 #625의 실제 두 계정·두 기기 driver로 실행합니다. 단일 기기에서 채팅 YAML만 반복하는 방식으로 바꾸지 않았습니다.
  • 기존 descriptor/feature driver 구조에 offline.json과 features/offline.py를 연결했습니다. 운동 캐시·캐시 미스·타이머 오프라인 변경/재실행/재연결을 8개 실제 UI 단계로 실행합니다.
  • Wi-Fi/모바일 데이터와 현재 기본망을 확인해 실제 단절을 검사합니다. 종료 시 원래 네트워크를 복구한 뒤 검증된 전용 계정의 해당 실행 데이터만 정리합니다. 복구 실패 시 private recovery 상태를 보존하고 후속 실행을 실패로 남깁니다.
  • 오프라인 관찰·정리는 동일 계정의 실제 등록 응답을 직접 검증합니다. 정리 실패 시 토큰만 제거하고 회원 ID·Room 대기 데이터·복구 ownership을 보존하도록 재인증 경로를 분리했습니다. production의 계정 변경 정책은 바꾸지 않았습니다.
  • 직접 서버 GET으로 고유 타이머의 이름·스텝·45초/75초 값·삭제와 중복 부재를 대조합니다. Room에 남아 있다는 이유만으로 업로드 성공으로 판정하지 않습니다.
  • merged dev의 fixture 복구·비밀 격리·고정 서명·API 선택·계정 직렬 실행·안전한 아티팩트 수집을 유지했습니다. 기존 온라인 타이머 선택자도 보존했습니다.

머지 전 필요한 작업

검증

  • 정적 확인: 전체 suite/flow 목록, 자동 CI 선택, 실제 두 기기 chat driver, offline 단계와 서버 관찰 호출, ownership·cleanup·복구 실패 처리, UI 선택자 및 Kotlin 호출부를 대조했습니다.
  • 회귀 테스트 작성: suite 선택·driver dispatch·누락 결과 실패, 실제 단절 판정·원상 복구·중단·정리 실패, 업로드 미관찰, feature ownership과 현재 세션 검증.
  • GitHub CI 통과: 최신 커밋 7a5a64d7의 dev-ci에서 Android Lint·ktlint·단위 테스트·Debug APK 빌드가 모두 통과했습니다. https://github.com/projects200/android/actions/runs/39060048838
  • 최초 목록 요청 오류 테스트는 실패 응답을 설정한 뒤 검증 대상 ViewModel을 생성하도록 수정했습니다. 추가 새로고침 없이 오류 객체와 미완료 상태가 노출되는지 확인하는 검증은 유지했습니다.
  • 로컬 실행: 이 작업 환경은 저장소 코드 실행이 금지되어 Python unittest·Gradle 빌드/테스트/lint·ADB·Maestro를 로컬에서 실행하지 않았습니다. 위 통과 결과는 GitHub CI의 dev-ci 결과이며 Python runner 테스트나 실제 Maestro 실행 통과를 뜻하지 않습니다.
  • E2E 미실행: maestro-dev의 배포 브랜치 보호 규칙이 refs/pull/631/merge를 거절해 테스트 시작 전에 실패했습니다. 환경 정책은 변경하지 않았습니다. https://github.com/projects200/android/actions/runs/39060048908
  • 확인 필요: 실제 CI에서 33개 case의 실행 결과·네트워크 복구·서버 데이터 정리까지 확인해야 합니다. 유효한 두 전용 계정, 채팅방/매칭 입력, 보호 환경, API34 기기와 서명 등록도 필요합니다. 선행 기능과 전송 대기 변경 보존 검증이 남아 있으므로 Draft를 유지하며 #617을 완료 처리하지 않습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant