Context
direct-cli already has full contract coverage against the declared Yandex Direct API surface (28/28 via WSDL/spec parity), but real integration confidence is lower.
Current integration coverage is split across:
- live read-only tests against production API
- sandbox write tests with VCR replay
Coverage is uneven: some groups are well covered, some are sandbox-limited, and some remain contract-only.
Current State
- Contract:
28/28
- Live read:
11/28
- Sandbox write:
17/28
- Any integration tier:
21/28 (75%)
- Contract-only groups:
advideos, agencyclients, businesses, changes, keywordsresearch, leads, turbopages
- Explicit read gaps still noted in repo:
sitelinks get, feeds get
- Current suite health blocker:
TestWriteBidModifiers.test_toggle_existing replay is not green because cassette/state is stale and related API behavior is under investigation (#31, #33)
Roadmap
1. Stabilize the current integration baseline
- Resolve the
bidmodifiers toggle branch of work first.
- Decide whether
toggle is a valid API operation or whether the CLI must revert to another payload/method shape.
- Close or update
#31 and #33 before expanding coverage on top of a broken baseline.
2. Close low-cost live-read gaps
- Add coverage for
sitelinks get and feeds get using explicit fixture IDs or a documented prerequisite flow.
- Convert similar "requires explicit ID" gaps into deterministic integration cases instead of leaving them uncovered.
3. Expand integration coverage for contract-only groups
- Evaluate each uncovered group for the cheapest reliable tier:
live read
sandbox write
dry-run/schema parity only
manual/non-sandbox tier
- Prioritize in this order:
keywordsresearch
changes
agencyclients
businesses
leads
advideos
turbopages
4. Strengthen method/payload correctness checks where contract tests are too shallow
- Add assertions that dry-run or request builder output uses the exact API method name expected by WSDL/spec.
- Use
keywordsresearch as the first concrete fix path because it already has an open mismatch issue (#35).
5. Make the coverage matrix explicit in repo docs and test headers
- Track every CLI group as one of:
contract-only
live-read covered
sandbox-write covered
sandbox-limited
blocked by API ambiguity
- Keep this matrix near the tests so future issue closure is based on visible state, not inference.
Acceptance Criteria
- every CLI group has an explicit coverage classification
- every contract-only group has a chosen next testing tier
- explicit read gaps (
sitelinks, feeds) have a chosen strategy
bidmodifiers toggle path is resolved as valid, invalid, or intentionally unsupported
- method-name parity checks exist for commands where CLI aliases can hide wrong wire method names
- repo documentation/test headers clearly describe the coverage matrix and remaining intentional gaps
Related
#28 write/integration sandbox roadmap
#31 stale cassette for bidmodifiers toggle
#33 possible invalid API toggle method
#35 keywordsresearch method-name mismatch
Context
direct-clialready has full contract coverage against the declared Yandex Direct API surface (28/28via WSDL/spec parity), but real integration confidence is lower.Current integration coverage is split across:
Coverage is uneven: some groups are well covered, some are sandbox-limited, and some remain contract-only.
Current State
28/2811/2817/2821/28(75%)advideos,agencyclients,businesses,changes,keywordsresearch,leads,turbopagessitelinks get,feeds getTestWriteBidModifiers.test_toggle_existingreplay is not green because cassette/state is stale and related API behavior is under investigation (#31,#33)Roadmap
1. Stabilize the current integration baseline
bidmodifiers togglebranch of work first.toggleis a valid API operation or whether the CLI must revert to another payload/method shape.#31and#33before expanding coverage on top of a broken baseline.2. Close low-cost live-read gaps
sitelinks getandfeeds getusing explicit fixture IDs or a documented prerequisite flow.3. Expand integration coverage for contract-only groups
live readsandbox writedry-run/schema parity onlymanual/non-sandbox tierkeywordsresearchchangesagencyclientsbusinessesleadsadvideosturbopages4. Strengthen method/payload correctness checks where contract tests are too shallow
keywordsresearchas the first concrete fix path because it already has an open mismatch issue (#35).5. Make the coverage matrix explicit in repo docs and test headers
contract-onlylive-read coveredsandbox-write coveredsandbox-limitedblocked by API ambiguityAcceptance Criteria
sitelinks,feeds) have a chosen strategybidmodifiers togglepath is resolved as valid, invalid, or intentionally unsupportedRelated
#28write/integration sandbox roadmap#31stale cassette forbidmodifiers toggle#33possible invalid APItogglemethod#35keywordsresearchmethod-name mismatch