Add allocation window equivalence test - #110
Conversation
Signed-off-by: noah-philip <[email protected]>
There was a problem hiding this comment.
Pull request overview
This PR adds a new OpenCost integration test that validates allocation window-parsing consistency. For each supported keyword window (today, yesterday, week, 14d), it queries /allocation, rebuilds an equivalent explicit RFC3339 range from the API-returned window, re-queries, and asserts the summed totalCost matches within absolute/relative tolerances. It fits alongside the existing window-related tests (e.g., correct_window_values_test.go) in the allocation integration suite.
Changes:
- Adds
allocation_window_equivalence_test.goimplementingTestAllocationKeywordAndExplicitWindowsEquivalentwith self-contained helpers for fetching, summing, window extraction, RFC3339 formatting, and tolerance comparison. - Registers the new test in
test.batsso it runs as part of the allocation suite.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
test/integration/api/allocation/allocation_window_equivalence_test.go |
New integration test comparing keyword vs. explicit RFC3339 window allocation totals with tolerance handling. |
test/integration/api/allocation/test.bats |
Adds a bats entry to execute the new equivalence test. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: noah-philip <[email protected]>
|
I appreciate the thought that went into writing this test, but I feel this would be a better fit as a unit test. @ameijer, What do you think? |
Description
Adds an allocation window parsing consistency test.
The test queries
/allocationusing supported keyword windows:todayyesterdayweekFor each keyword window, it builds an equivalent explicit RFC3339 range from the response window and verifies that the explicit range returns a consistent allocation total.
Implementation
aggregate=namespace,accumulate=true, andincludeIdle=truetotalCostbetween keyword and explicit range responsesTesting
go test -count=1 ./test/integration/api/allocation -run TestAllocationKeywordAndExplicitWindowsEquivalent -vbats test/integration/api/allocation/test.bats