Skip to content

Add comprehensive tests for worklist SQL execution algorithm#83

Merged
RobbieMcKinstry merged 1 commit intotrunkfrom
claude/test-sql-order-handling-GPfgL
Mar 19, 2026
Merged

Add comprehensive tests for worklist SQL execution algorithm#83
RobbieMcKinstry merged 1 commit intotrunkfrom
claude/test-sql-order-handling-GPfgL

Conversation

@RobbieMcKinstry
Copy link
Copy Markdown
Contributor

No description provided.

TEST: Add unit tests for worklist dependency resolution algorithm

Introduces a SqlExecutor trait to decouple the worklist algorithm from
tokio_postgres::Client, following the sans-I/O pattern used elsewhere
(Catalog/FakeCatalog). This enables thorough unit testing with a
FakeSqlExecutor test double.

New test coverage (16 new tests):
- All files succeed on first try / single file / empty input
- Dependency error causes retry and eventual success
- Linear dependency chain (C->B->A) resolves correctly
- Diamond dependency (D->B,C->A) resolves correctly
- Circular dependency detection (2 files, 3 files, single file)
- Duplicate objects are skipped (counts as progress)
- Skip resets the visit counter (prevents false circular detection)
- Mixed scenarios (success + dependency + skip)
- Partial circular (some succeed, remaining cycle detected)
- Max iterations safety limit
- Already-correct order requires no retries

https://claude.ai/code/session_01BZqd9DHaEauidisXBwyBnf
@RobbieMcKinstry RobbieMcKinstry merged commit 818a638 into trunk Mar 19, 2026
6 checks passed
@RobbieMcKinstry RobbieMcKinstry deleted the claude/test-sql-order-handling-GPfgL branch March 19, 2026 04:15
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.

2 participants