Skip to content

feat: complete test harness for pyinfra facts and operations#2

Open
DonDebonair wants to merge 1 commit into
pyinfra-dev:mainfrom
DonDebonair:feat/testing-utils
Open

feat: complete test harness for pyinfra facts and operations#2
DonDebonair wants to merge 1 commit into
pyinfra-dev:mainfrom
DonDebonair:feat/testing-utils

Conversation

@DonDebonair

@DonDebonair DonDebonair commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Describe test cases for facts and operations using yaml/json. The test harness supports facts that return (nested) dataclasses. Operation arguments are automatically coerced into the proper types from the input yaml/json

Test harness itself has a thorough test suite.

The basics for this test harness were ported from pyinfra and then it was augmented to support more types of facts and operations.

The test harness was tested against the full pyinfra test suite and against my own custom facts + operations for proxmox (will open source those once this has been merged).

NOTE: all the type coercion happening here is quite complex. In the future I'd like to take our learnings from the yaml/json test harness to create an actual type safe test harness that has a similar dev experience.

Describe test cases for facts and operations using yaml/json.
The test harness supports facts that return (nested) dataclasses.
Operation arguments are automatically coerced into the proper types from the input yaml/json

Test harness itself has a thorough test suite
@DonDebonair DonDebonair requested a review from Fizzadar June 26, 2026 09:52
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