Skip to content

test: Exchange API (Asset, Order) VCR cassette 통합 테스트 추가#42

Merged
interruping merged 3 commits intomainfrom
feat/vcr-exchange-cassettes
Mar 22, 2026
Merged

test: Exchange API (Asset, Order) VCR cassette 통합 테스트 추가#42
interruping merged 3 commits intomainfrom
feat/vcr-exchange-cassettes

Conversation

@interruping
Copy link
Copy Markdown
Owner

Closes #41
Depends on #40

Summary

  • Accounts VCR 테스트: accounts.list() cassette 녹화 및 리플레이 테스트
  • Orders VCR 테스트: 안전한 엔드포인트 4개 + 지정가 라이프사이클 5개 + 시장가 매수→매도 1개 (총 10개 테스트)
  • 녹화 스크립트: scripts/record_order_cassettes.py — 시장가 매수→매도 cassette 녹화 (확인 프롬프트, try/finally 안전장치)
  • VCR serializer 개선: _prettify_response_bodies() 추가 — 비압축 응답(bytes body)도 pretty JSON으로 저장

Test plan

  • uv run pytest tests/api/test_accounts_vcr.py tests/api/test_orders_vcr.py -v — 전체 11개 테스트 통과
  • uv run pytest tests/api/test_quotation_vcr.py -v — 기존 quotation 테스트 영향 없음
  • cassette YAML에 API 키/시크릿 미포함 확인 (Authorization: REDACTED)

🤖 Generated with Claude Code

gylim and others added 3 commits March 22, 2026 21:51
- get_chance()가 list[OrderChance] 대신 OrderChance를 반환하도록 수정
  (Upbit API가 단일 객체를 반환하나 리스트로 처리하고 있었음)
- OrderCreated 모델에서 remaining_volume, prevented_volume, prevented_locked을
  optional로 변경 (시장가 주문 응답에 해당 필드가 포함되지 않음)
- 동기/비동기 양쪽 모두 수정, mock 테스트도 함께 수정

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Accounts (asset) 및 Orders API에 대한 VCR cassette 통합 테스트 추가.

- tests/api/test_accounts_vcr.py: accounts.list() cassette 테스트
- tests/api/test_orders_vcr.py: 안전한 엔드포인트(get_chance, create_test,
  list_open, list_closed), 지정가 라이프사이클(create→get→cancel,
  cancel_and_new, list_by_ids, cancel_by_ids, cancel_open),
  시장가 매수→매도 테스트
- scripts/record_order_cassettes.py: 시장가 매수→매도 cassette 녹화 스크립트
- tests/_vcr.py: serialize() 시 bytes body를 pretty JSON으로 변환하는
  _prettify_response_bodies() 추가 (비압축 응답 대응)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
매수 금액을 5000→10000원으로 변경한 후 docstring과 예상 손실 안내가
업데이트되지 않았던 부분 수정.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@interruping interruping merged commit 1084c7d into main Mar 22, 2026
3 checks passed
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.

test: Exchange API (Asset, Order) VCR cassette 통합 테스트 추가

1 participant