-
Notifications
You must be signed in to change notification settings - Fork 195
Open
Labels
Tool: PowerShellPowerShell scripts and automationPowerShell scripts and automationType: Feature 💎Idea to improve the productIdea to improve the product
Description
Summary
Refactor New-FinOpsTestData into smaller, composable commands — one per dataset type — to improve maintainability and allow independent use.
Motivation
New-FinOpsTestData is a large (~2,400+ line) monolithic function that generates all 5 FOCUS datasets. Breaking it into smaller commands would:
- Make each dataset generator independently testable and usable
- Reduce complexity per function
- Allow users to generate only the datasets they need
- Follow PowerShell best practices for single-responsibility commands
Proposed commands
New-FinOpsTestCostData— generates Costs dataset rowsNew-FinOpsTestPriceData— generates Prices dataset rowsNew-FinOpsTestCommitmentData— generates CommitmentDiscountUsage dataset rowsNew-FinOpsTestRecommendationData— generates Recommendations dataset rowsNew-FinOpsTestTransactionData— generates Transactions dataset rowsNew-FinOpsTestData— orchestrator that calls the above and handles file output, storage upload, and manifest generation
Considerations
- Shared helper logic (provider templates, column definitions, FOCUS version filtering) should be extracted into internal/private functions
- Each sub-command should accept common parameters (
-Providers,-FocusVersion,-Months,-Seed, etc.) - Maintain backward compatibility —
New-FinOpsTestDatashould continue to work as-is
Context
Deferred from PR #2006 (New-FinOpsTestData and Remove-FinOpsTestData).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Tool: PowerShellPowerShell scripts and automationPowerShell scripts and automationType: Feature 💎Idea to improve the productIdea to improve the product