4.4 KiB
4.4 KiB
| test_env | test_profile | domain | verification_type | last_rule_updated_at |
|---|---|---|---|---|
| dev-corp | client-smoke | client | smoke | 2026-06-25 |
client-smoke dev-corp 테스트
읽기 조건
apps/client/**또는packages/flutter/iop_console/**변경의 dev-corp 테스트, 검증, 실행 조건 판단이 필요한 경우
적용 범위
- IOP Flutter client app shell
- IOP-owned embeddable console package
- Client-Control Plane proto-socket hello baseline
- Flutter widget/unit tests
- dev-corp web preview와 compose web build URL 주입
분류
- domain: client
- verification_type: smoke
- scope: Flutter client와 IOP console package 변경
환경
- host: Flutter client 또는
packages/flutter/iop_console가 포함된 runtime evidence는 mac-minissh fe@172.23.78.70의/Users/fe/agent-work/iop-dev-corp기준으로 수행한다. - port: web/dev preview
13002, Control Plane HTTP18002, Client WS19004, Edge-Node TCP transport19006. - runtime: Flutter/Dart
- package manager: Flutter pub
- docker: compose 검증은 mac-mini에서
.env.dev-corp.example기준이다. - external service: sibling path dependencies
../agent-shell,../nexo/packages/messaging_flutter,../proto-socket/dart - model endpoint:
- credential: token/secret/API key 원문은 문서에 기록하지 않는다.
명령은 mac-mini runner 사용 시 /Users/fe/agent-work/iop-dev-corp 기준으로 실행한다. 현재 작업 컨테이너의 변경분이 mac-mini checkout에 동기화되지 않았으면 원격 검증 완료로 보지 않는다.
명령
- setup:
cd apps/client && flutter pub get - package-setup:
cd packages/flutter/iop_console && flutter pub get - unit:
cd apps/client && flutter test - package-unit:
cd packages/flutter/iop_console && flutter test - lint:
cd apps/client && flutter analyze --no-fatal-infos - smoke:
cd apps/client && flutter test - e2e:
IOP_WEB_PORT=13002 IOP_CONTROL_PLANE_HTTP_URL=http://172.23.78.70:18002 IOP_CONTROL_PLANE_WIRE_URL=ws://172.23.78.70:19004/client ./scripts/dev/web.sh - compose-e2e: mac-mini 환경에서
IOP_EDGE_NODE_TOKEN을 안전하게 주입한 뒤docker compose --env-file .env.dev-corp.example up --build - web-build:
make client-build-web IOP_CONTROL_PLANE_HTTP_URL=http://172.23.78.70:18002 IOP_CONTROL_PLANE_WIRE_URL=ws://172.23.78.70:19004/client - model:
- full-cycle:
필수 검증
- client 또는
packages/flutter/iop_console변경은 최소cd apps/client && flutter test로 확인한다. packages/flutter/iop_console자체 API나 widget 구조가 바뀌면cd packages/flutter/iop_console && flutter test실행 가능 여부를 확인한다.- analyzer 영향이 있는 dependency, app shell, generated import 변경이면
cd apps/client && flutter analyze --no-fatal-infos를 함께 확인한다. - Web build/deploy,
apps/client/Dockerfile,docker-compose.yml,scripts/dev/web.sh,Makefile client-build-web변경은 mac-mini에서 dev-server 기동 또는 compose build 중 변경 범위에 맞는 경로를 확인하고, 외부 브라우저 확인 URL이http://172.23.78.70:13002계열인지 보고한다. - compose 경로를 확인할 때는
IOP_EDGE_NODE_TOKEN을 mac-mini 환경에서 주입하고, token 원문은 tracked 파일에 기록하지 않는다.
보조 검증
cd apps/client && flutter pub getcd packages/flutter/iop_console && flutter pub get
판정 기준
- Flutter test가 실패 없이 종료한다.
- Analyzer는 기존 non-fatal info를 기능 실패로 확대하지 않는다.
- path dependency가 없어 실행하지 못하면 누락된 sibling workspace를 차단 사유로 보고한다.
- dev-corp web preview가 필요한 경우 browser-facing URL과 compiled Control Plane HTTP/WS URL이 모두 dev-corp 포트(
13002,18002,19004)를 사용한다.
기준 출력 예시
All tests passed!
차단 기준
- mac-mini runner 접근, Flutter SDK, Docker compose, 또는 필요한 dev-corp 포트 개방이 없어 client runtime 검증을 실행할 수 없다.
- 필요한 sibling path dependency가 없어
flutter pub get또는 test가 진행되지 않는다.
보고 항목
- 실행한 명령:
- 성공한 검증:
- 실패/차단된 검증:
- 생략 사유:
- 남은 위험:
금지 사항
- secret, token, API key 원문은 tracked 파일에 기록하지 않는다.
- IOP client에 NomadCode product shell UX를 직접 복제하지 않는다.