-
Notifications
You must be signed in to change notification settings - Fork 5
Merge from MicrosoftFabricMgmt #2 #17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…o code that will run so that errors are not created and no envrionment is altered during import see #17
Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you!
All of the help tests in the #24 are passing. If you change any code here please update the relevant code in the source directory in the sampler branch and rerun the tests again (just the help ones, the others will need some more work yet. |
with this merged in do we need to rebase (not sure manually will work with the restructure) - but just conscious we don't want to lose changes while we swap to using sampler CC - @SQLDBAWithABeard |
No rebase needed. Its such a change that I took the functions code from here (and some of the readmes) and put into the sampler branch. Anything else that is required we can get to if we need |
perfecto |
* remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor Script Analyzer Test for Pester Help Tests Updated the Script Analyzer test to filter test cases based on exported commands. This change ensures that only relevant functions are analyzed, improving the accuracy of the tests. Thank you! * Refactor Add-FabricWorkspaceIdentity for Pester Help Tests Clean up whitespace and improve readability in the Add-FabricWorkspaceIdentity function. This enhances the code quality and maintains consistency for Pester Help Tests. Thank you! * used the dbatools formatter * extra space in help * Fix parameter naming in Get-FabricCopyJob function and update examples * Update CONTRIBUTING.md with proper code formatting Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * test pushing conflicted files * lets run some tests on PR * sample branches to test with * Updated the test command in the workflow to ensure proper execution by removing the unnecessary module import. This change helps avoid issues with loading dependencies during testing. * Remove temporary test branch from workflow for Pester Help Tests This change simplifies the workflow configuration by removing the unnecessary 'testBranch' entry. This helps maintain clarity and focus on the relevant branches for testing. Thank you! * fix for #25 add config variables to private function so executed on build * Fix formatting in Get-FabricDatamart example and add error logging message * Added an important box for important content. * Update CONTRIBUTING.md for clarity and structure Refine the development workflow instructions for better readability and understanding. Adjusted the numbering and formatting for consistency. This will help contributors follow the guidelines more easily for Pester Help Tests. * Update CONTRIBUTING.md for clarity and structure Refine the development and testing instructions for better understanding. Enhance the formatting of sections and emphasize important guidelines for contributors. Thank you! * Update Code of Conduct for clarity and inclusivity This update enhances the Code of Conduct to ensure a welcoming, respectful, and inclusive environment for all contributors. It outlines expected behaviors and the consequences of unacceptable actions. * Add standard tests for each function (#35) * tests for all * Add OutputType attributes for improved type safety This update introduces OutputType attributes to several functions, enhancing type safety and providing better integration with tools that rely on type information. This change will help users understand the expected output of these functions more clearly, which is beneficial for Pester Help Tests. Thank you! * Add SuppressMessageAttribute for Pester Help Tests This change adds a SuppressMessageAttribute to the Set-FabricAuthToken function. This adjustment is necessary to allow the current unit tests to pass without warnings related to the use of ConvertToSecureString with plain text. Thank you! * So that the naming of functions matches approved PowerShell Verbs fixes #14 - Added Remove-FabricDomainWorkspaceAssignment to unassign workspaces from a Fabric domain. - Introduced Remove-FabricDomainWorkspaceRoleAssignment for bulk unassigning roles from principals in a Fabric domain. - Created Import-FabricEnvironmentStagingLibrary to upload libraries to the staging environment in a Fabric workspace. - Developed Write-FabricLakehouseTableData to load data into Lakehouse tables from files or folders. - Implemented Add-FabricWorkspaceCapacityAssignment to assign a workspace to a specified capacity. - Added Remove-FabricWorkspaceCapacityAssignment to unassign a workspace from its capacity. - Created unit tests for all new functions to ensure parameter validation and functionality. * change file and test name * remove file to match develop - missed commit * Refactor PowerShell functions to support ShouldProcess for safer execution fixes #12 - Updated multiple functions across various scripts to include [CmdletBinding(SupportsShouldProcess)] for better user confirmation before executing potentially destructive actions. - Enhanced error handling by restructuring try-catch blocks for improved readability and consistency. - Ensured that API requests are wrapped in ShouldProcess checks to prevent unintended changes. - Cleaned up code formatting and improved validation checks for input parameters. * Add WhatIf and Confirm parameters to various FabricTools update tests for Missing Pester Tests #7 - Updated expected parameters in the following test files to include "WhatIf" and "Confirm": - Update-FabricEventhouseDefinition.Tests.ps1 - Update-FabricEventstream.Tests.ps1 - Update-FabricEventstreamDefinition.Tests.ps1 - Update-FabricKQLDashboard.Tests.ps1 - Update-FabricKQLDashboardDefinition.Tests.ps1 - Update-FabricKQLDatabase.Tests.ps1 - Update-FabricKQLDatabaseDefinition.Tests.ps1 - Update-FabricKQLQueryset.Tests.ps1 - Update-FabricKQLQuerysetDefinition.Tests.ps1 - Update-FabricLakehouse.Tests.ps1 - Update-FabricMLExperiment.Tests.ps1 - Update-FabricMLModel.Tests.ps1 - Update-FabricMirroredDatabase.Tests.ps1 - Update-FabricMirroredDatabaseDefinition.Tests.ps1 - Update-FabricNotebook.Tests.ps1 - Update-FabricNotebookDefinition.Tests.ps1 - Update-FabricPaginatedReport.Tests.ps1 - Update-FabricReflex.Tests.ps1 - Update-FabricReflexDefinition.Tests.ps1 - Update-FabricReport.Tests.ps1 - Update-FabricReportDefinition.Tests.ps1 - Update-FabricSemanticModel.Tests.ps1 - Update-FabricSemanticModelDefinition.Tests.ps1 - Update-FabricSparkCustomPool.Tests.ps1 - Update-FabricSparkJobDefinition.Tests.ps1 - Update-FabricSparkJobDefinitionDefinition.Tests.ps1 - Update-FabricSparkSettings.Tests.ps1 - Update-FabricWarehouse.Tests.ps1 - Update-FabricWorkspace.Tests.ps1 - Update-FabricWorkspaceRoleAssignment.Tests.ps1 - Write-FabricLakehouseTableData.Tests.ps1 * Add Pester Help Tests for Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides This commit introduces unit tests for the Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides functions to ensure proper parameter validation and functionality. These tests will help maintain code quality and reliability as the project evolves. Thank you! * Update CodeCoverageThreshold for Pester Help Tests Adjust the CodeCoverageThreshold from 85 to 0.35 to better align with current testing requirements for Pester Help Tests. This change aims to improve the accuracy of code coverage metrics. Thank you! --------- Co-authored-by: Rob Sewell <mrrobsewell@outlook.com> * update issue template for new function * The requirement for PS7 has been abolished #4 * Added unit test & fixed validation for WorkspaceName in Get-FabricWorkspace cmdlet #28 * Apply suggestions from code review the `-` needs to be escaped within the regular expression (good test, that caught this issue!) Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> * Validation correction fixes #28 fixes #41 * Update CmdletBinding to include ConfirmImpact - closes ConfirmImpact of destructive functions should be high #46 This change enhances the safety of the following functions by setting the ConfirmImpact to 'High': - Remove-FabricDomainWorkspaceRoleAssignment - Remove-FabricEnvironment - Remove-FabricEventhouse - Remove-FabricEventstream - Revoke-FabricExternalDataShares - Remove-FabricItem - Remove-FabricMLModel - Remove-FabricReflex - Remove-FabricSQLDatabase - Remove-FabricSparkJobDefinition - Remove-FabricSparkCustomPool - Revoke-FabricCapacityTenantSettingOverrides - Remove-FabricWarehouse This ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * Fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 (#45) * fix for #39 * contenttype not used so post commands were failign * correct comment wording * update api call to fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * formatting & spelling * whitespace changes * lets have a copyJob when we ask for one not a warehouse * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * change confirmImpact to high so confirm works cc. @SQLDBAWithABeard * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for #39 * Removed leading slash from $apiEndpointURI #39 * Removed leading slash #39 --------- * Add ShouldProcess support for revoke functions Enhance the Revoke-FabricExternalDataShares and Revoke-FabricCapacityTenantSettingOverrides functions to include ShouldProcess support, allowing for confirmation prompts before executing the revoke actions. This improves safety and user control over destructive operations. Also, update the corresponding test files to include new parameters for Confirm and WhatIf, ensuring comprehensive testing for these changes. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net>
* Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor Script Analyzer Test for Pester Help Tests Updated the Script Analyzer test to filter test cases based on exported commands. This change ensures that only relevant functions are analyzed, improving the accuracy of the tests. Thank you! * Refactor Add-FabricWorkspaceIdentity for Pester Help Tests Clean up whitespace and improve readability in the Add-FabricWorkspaceIdentity function. This enhances the code quality and maintains consistency for Pester Help Tests. Thank you! * used the dbatools formatter * extra space in help * Fix parameter naming in Get-FabricCopyJob function and update examples * Update CONTRIBUTING.md with proper code formatting Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * test pushing conflicted files * lets run some tests on PR * sample branches to test with * Updated the test command in the workflow to ensure proper execution by removing the unnecessary module import. This change helps avoid issues with loading dependencies during testing. * Remove temporary test branch from workflow for Pester Help Tests This change simplifies the workflow configuration by removing the unnecessary 'testBranch' entry. This helps maintain clarity and focus on the relevant branches for testing. Thank you! * fix for #25 add config variables to private function so executed on build * Fix formatting in Get-FabricDatamart example and add error logging message * Added an important box for important content. * Update CONTRIBUTING.md for clarity and structure Refine the development workflow instructions for better readability and understanding. Adjusted the numbering and formatting for consistency. This will help contributors follow the guidelines more easily for Pester Help Tests. * Update CONTRIBUTING.md for clarity and structure Refine the development and testing instructions for better understanding. Enhance the formatting of sections and emphasize important guidelines for contributors. Thank you! * Update Code of Conduct for clarity and inclusivity This update enhances the Code of Conduct to ensure a welcoming, respectful, and inclusive environment for all contributors. It outlines expected behaviors and the consequences of unacceptable actions. * Add standard tests for each function (#35) * tests for all * Add OutputType attributes for improved type safety This update introduces OutputType attributes to several functions, enhancing type safety and providing better integration with tools that rely on type information. This change will help users understand the expected output of these functions more clearly, which is beneficial for Pester Help Tests. Thank you! * Add SuppressMessageAttribute for Pester Help Tests This change adds a SuppressMessageAttribute to the Set-FabricAuthToken function. This adjustment is necessary to allow the current unit tests to pass without warnings related to the use of ConvertToSecureString with plain text. Thank you! * So that the naming of functions matches approved PowerShell Verbs fixes #14 - Added Remove-FabricDomainWorkspaceAssignment to unassign workspaces from a Fabric domain. - Introduced Remove-FabricDomainWorkspaceRoleAssignment for bulk unassigning roles from principals in a Fabric domain. - Created Import-FabricEnvironmentStagingLibrary to upload libraries to the staging environment in a Fabric workspace. - Developed Write-FabricLakehouseTableData to load data into Lakehouse tables from files or folders. - Implemented Add-FabricWorkspaceCapacityAssignment to assign a workspace to a specified capacity. - Added Remove-FabricWorkspaceCapacityAssignment to unassign a workspace from its capacity. - Created unit tests for all new functions to ensure parameter validation and functionality. * change file and test name * remove file to match develop - missed commit * Refactor PowerShell functions to support ShouldProcess for safer execution fixes #12 - Updated multiple functions across various scripts to include [CmdletBinding(SupportsShouldProcess)] for better user confirmation before executing potentially destructive actions. - Enhanced error handling by restructuring try-catch blocks for improved readability and consistency. - Ensured that API requests are wrapped in ShouldProcess checks to prevent unintended changes. - Cleaned up code formatting and improved validation checks for input parameters. * Add WhatIf and Confirm parameters to various FabricTools update tests for Missing Pester Tests #7 - Updated expected parameters in the following test files to include "WhatIf" and "Confirm": - Update-FabricEventhouseDefinition.Tests.ps1 - Update-FabricEventstream.Tests.ps1 - Update-FabricEventstreamDefinition.Tests.ps1 - Update-FabricKQLDashboard.Tests.ps1 - Update-FabricKQLDashboardDefinition.Tests.ps1 - Update-FabricKQLDatabase.Tests.ps1 - Update-FabricKQLDatabaseDefinition.Tests.ps1 - Update-FabricKQLQueryset.Tests.ps1 - Update-FabricKQLQuerysetDefinition.Tests.ps1 - Update-FabricLakehouse.Tests.ps1 - Update-FabricMLExperiment.Tests.ps1 - Update-FabricMLModel.Tests.ps1 - Update-FabricMirroredDatabase.Tests.ps1 - Update-FabricMirroredDatabaseDefinition.Tests.ps1 - Update-FabricNotebook.Tests.ps1 - Update-FabricNotebookDefinition.Tests.ps1 - Update-FabricPaginatedReport.Tests.ps1 - Update-FabricReflex.Tests.ps1 - Update-FabricReflexDefinition.Tests.ps1 - Update-FabricReport.Tests.ps1 - Update-FabricReportDefinition.Tests.ps1 - Update-FabricSemanticModel.Tests.ps1 - Update-FabricSemanticModelDefinition.Tests.ps1 - Update-FabricSparkCustomPool.Tests.ps1 - Update-FabricSparkJobDefinition.Tests.ps1 - Update-FabricSparkJobDefinitionDefinition.Tests.ps1 - Update-FabricSparkSettings.Tests.ps1 - Update-FabricWarehouse.Tests.ps1 - Update-FabricWorkspace.Tests.ps1 - Update-FabricWorkspaceRoleAssignment.Tests.ps1 - Write-FabricLakehouseTableData.Tests.ps1 * Add Pester Help Tests for Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides This commit introduces unit tests for the Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides functions to ensure proper parameter validation and functionality. These tests will help maintain code quality and reliability as the project evolves. Thank you! * Update CodeCoverageThreshold for Pester Help Tests Adjust the CodeCoverageThreshold from 85 to 0.35 to better align with current testing requirements for Pester Help Tests. This change aims to improve the accuracy of code coverage metrics. Thank you! --------- Co-authored-by: Rob Sewell <mrrobsewell@outlook.com> * update issue template for new function * The requirement for PS7 has been abolished #4 * Added unit test & fixed validation for WorkspaceName in Get-FabricWorkspace cmdlet #28 * Apply suggestions from code review the `-` needs to be escaped within the regular expression (good test, that caught this issue!) Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> * Validation correction fixes #28 fixes #41 * Update CmdletBinding to include ConfirmImpact - closes ConfirmImpact of destructive functions should be high #46 This change enhances the safety of the following functions by setting the ConfirmImpact to 'High': - Remove-FabricDomainWorkspaceRoleAssignment - Remove-FabricEnvironment - Remove-FabricEventhouse - Remove-FabricEventstream - Revoke-FabricExternalDataShares - Remove-FabricItem - Remove-FabricMLModel - Remove-FabricReflex - Remove-FabricSQLDatabase - Remove-FabricSparkJobDefinition - Remove-FabricSparkCustomPool - Revoke-FabricCapacityTenantSettingOverrides - Remove-FabricWarehouse This ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * Fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 (#45) * fix for #39 * contenttype not used so post commands were failign * correct comment wording * update api call to fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * formatting & spelling * whitespace changes * lets have a copyJob when we ask for one not a warehouse * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * change confirmImpact to high so confirm works cc. @SQLDBAWithABeard * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for #39 * Removed leading slash from $apiEndpointURI #39 * Removed leading slash #39 --------- * Add ShouldProcess support for revoke functions Enhance the Revoke-FabricExternalDataShares and Revoke-FabricCapacityTenantSettingOverrides functions to include ShouldProcess support, allowing for confirmation prompts before executing the revoke actions. This improves safety and user control over destructive operations. Also, update the corresponding test files to include new parameters for Confirm and WhatIf, ensuring comprehensive testing for these changes. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> * so that we can deploy preview versions to the powershell gallery * to see if we can deploy * so that we can deploy except when the files in root are changed * so that we can deploy except when the files in root are changed and use a valid deployment file. * so that the module manifest has the correct details * so that we build with the required az.accounts version * so that the other required modules are at the versions as well! * so that it will run the publish for the develop branch * so that we can deploy from the develop branch * because we no longer need verbose output here * because we dont need to publish wiki content * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount (#51) * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount Updated the ResourceUrl used to retrieve the authentication token in the Connect-FabricAccount function. This change ensures that the correct API endpoint is utilized for obtaining the Fabric token, improving the reliability of the connection process for Pester Help Tests. Thank you! * Fixed a bug in New-FabricEventhouse that ran Invoke-RestMethod twice. Removed the ShouldProcess Check, rather than the one outside the ShouldProcess This change simplifies the API request process. * Add ShouldProcess check for API request in New-FabricEventhouse This change introduces a ShouldProcess check before making the API request to create a new Eventhouse. This ensures that the operation is confirmed by the user, enhancing safety and control over the action. * Because YAML is hard and indentations hate me Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * fix capital letters to test automation (#53) * Update New-WorkspaceName Modified the validation pattern for the WorkspaceName parameter to allow additional special characters. This change enhances flexibility in naming workspaces while maintaining validation integrity. * Remove WorkspaceName validation pattern.This change simplifies the validation for the WorkspaceName parameter, allowing for greater flexibility in naming workspaces. * Update Changelog for New Features and Improvements Added new PowerShell functions for managing Fabric workspaces and enhanced unit tests for key functions. Updated the validation pattern for WorkspaceName to allow more flexibility and improved documentation across various functions. These changes aim to enhance usability and maintainability of the project. Thank you! * Update CONTRIBUTING.md to enhance changelog guidance Clarify the process for updating the CHANGELOG.md file before submitting changes. Encourage contributors to follow the Keep a Changelog format and provide examples for better organization of changes. This will help maintain clarity and consistency in tracking modifications to the module. Thank you! * Remove sampler branch from pull request workflow for Pester Help Tests This change eliminates the temporary 'sampler' branch from the pull request workflow configuration. This helps streamline the workflow and ensures that only relevant branches are monitored. Thank you! * Update Pull Request Template for Clarity and Consistency closes #52 Refine the PR template by adding examples for clarity and updating the task list for consistency. This ensures contributors have clear guidance on what is expected when submitting a pull request, enhancing the overall contribution process for Pester Help Tests. Thank you! * Remove duplicate Unreleased section from Changelog This change eliminates the redundant "Unreleased" section in the Changelog file to enhance clarity and maintain consistency. Thank you! * Add GitHub Actions workflow for module deployment This commit introduces a new GitHub Actions workflow to automate the deployment of the module to the PowerShell Gallery. It includes steps for packaging the module, publishing it, and creating a changelog pull request. This enhancement aims to streamline the release process and ensure consistency in deployments for Pester Help Tests. Thank you! * Add ReleaseBranch and MainGitBranch to workflow This change adds the ReleaseBranch and MainGitBranch environment variables to the deploy-preview-module workflow. This enhancement ensures that the correct branches are referenced during the deployment process for Pester Help Tests. Thank you! * Update module manifest author and generation date Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update module manifest author and generation date (#65) Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update comment for RequiredAssemblies section Clarify the purpose of the RequiredAssemblies section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Add permissions for GitHub Actions workflow This update adds necessary permissions for the GitHub Actions workflow to ensure it can perform actions like writing to contents, pull requests, and deployments. This change is essential for the proper functioning of the deployment process for Pester Help Tests. Thank you! * Today Rob will mainly be creating PRs for deployments so that Jess can approve them (#68) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * we wont tag (#69) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * we wont create change release branch (#70) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> Co-authored-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> Co-authored-by: Ioana Bouariu <ibouariu@yahoo.com>
* Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor Script Analyzer Test for Pester Help Tests Updated the Script Analyzer test to filter test cases based on exported commands. This change ensures that only relevant functions are analyzed, improving the accuracy of the tests. Thank you! * Refactor Add-FabricWorkspaceIdentity for Pester Help Tests Clean up whitespace and improve readability in the Add-FabricWorkspaceIdentity function. This enhances the code quality and maintains consistency for Pester Help Tests. Thank you! * used the dbatools formatter * extra space in help * Fix parameter naming in Get-FabricCopyJob function and update examples * Update CONTRIBUTING.md with proper code formatting Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * test pushing conflicted files * lets run some tests on PR * sample branches to test with * Updated the test command in the workflow to ensure proper execution by removing the unnecessary module import. This change helps avoid issues with loading dependencies during testing. * Remove temporary test branch from workflow for Pester Help Tests This change simplifies the workflow configuration by removing the unnecessary 'testBranch' entry. This helps maintain clarity and focus on the relevant branches for testing. Thank you! * fix for #25 add config variables to private function so executed on build * Fix formatting in Get-FabricDatamart example and add error logging message * Added an important box for important content. * Update CONTRIBUTING.md for clarity and structure Refine the development workflow instructions for better readability and understanding. Adjusted the numbering and formatting for consistency. This will help contributors follow the guidelines more easily for Pester Help Tests. * Update CONTRIBUTING.md for clarity and structure Refine the development and testing instructions for better understanding. Enhance the formatting of sections and emphasize important guidelines for contributors. Thank you! * Update Code of Conduct for clarity and inclusivity This update enhances the Code of Conduct to ensure a welcoming, respectful, and inclusive environment for all contributors. It outlines expected behaviors and the consequences of unacceptable actions. * Add standard tests for each function (#35) * tests for all * Add OutputType attributes for improved type safety This update introduces OutputType attributes to several functions, enhancing type safety and providing better integration with tools that rely on type information. This change will help users understand the expected output of these functions more clearly, which is beneficial for Pester Help Tests. Thank you! * Add SuppressMessageAttribute for Pester Help Tests This change adds a SuppressMessageAttribute to the Set-FabricAuthToken function. This adjustment is necessary to allow the current unit tests to pass without warnings related to the use of ConvertToSecureString with plain text. Thank you! * So that the naming of functions matches approved PowerShell Verbs fixes #14 - Added Remove-FabricDomainWorkspaceAssignment to unassign workspaces from a Fabric domain. - Introduced Remove-FabricDomainWorkspaceRoleAssignment for bulk unassigning roles from principals in a Fabric domain. - Created Import-FabricEnvironmentStagingLibrary to upload libraries to the staging environment in a Fabric workspace. - Developed Write-FabricLakehouseTableData to load data into Lakehouse tables from files or folders. - Implemented Add-FabricWorkspaceCapacityAssignment to assign a workspace to a specified capacity. - Added Remove-FabricWorkspaceCapacityAssignment to unassign a workspace from its capacity. - Created unit tests for all new functions to ensure parameter validation and functionality. * change file and test name * remove file to match develop - missed commit * Refactor PowerShell functions to support ShouldProcess for safer execution fixes #12 - Updated multiple functions across various scripts to include [CmdletBinding(SupportsShouldProcess)] for better user confirmation before executing potentially destructive actions. - Enhanced error handling by restructuring try-catch blocks for improved readability and consistency. - Ensured that API requests are wrapped in ShouldProcess checks to prevent unintended changes. - Cleaned up code formatting and improved validation checks for input parameters. * Add WhatIf and Confirm parameters to various FabricTools update tests for Missing Pester Tests #7 - Updated expected parameters in the following test files to include "WhatIf" and "Confirm": - Update-FabricEventhouseDefinition.Tests.ps1 - Update-FabricEventstream.Tests.ps1 - Update-FabricEventstreamDefinition.Tests.ps1 - Update-FabricKQLDashboard.Tests.ps1 - Update-FabricKQLDashboardDefinition.Tests.ps1 - Update-FabricKQLDatabase.Tests.ps1 - Update-FabricKQLDatabaseDefinition.Tests.ps1 - Update-FabricKQLQueryset.Tests.ps1 - Update-FabricKQLQuerysetDefinition.Tests.ps1 - Update-FabricLakehouse.Tests.ps1 - Update-FabricMLExperiment.Tests.ps1 - Update-FabricMLModel.Tests.ps1 - Update-FabricMirroredDatabase.Tests.ps1 - Update-FabricMirroredDatabaseDefinition.Tests.ps1 - Update-FabricNotebook.Tests.ps1 - Update-FabricNotebookDefinition.Tests.ps1 - Update-FabricPaginatedReport.Tests.ps1 - Update-FabricReflex.Tests.ps1 - Update-FabricReflexDefinition.Tests.ps1 - Update-FabricReport.Tests.ps1 - Update-FabricReportDefinition.Tests.ps1 - Update-FabricSemanticModel.Tests.ps1 - Update-FabricSemanticModelDefinition.Tests.ps1 - Update-FabricSparkCustomPool.Tests.ps1 - Update-FabricSparkJobDefinition.Tests.ps1 - Update-FabricSparkJobDefinitionDefinition.Tests.ps1 - Update-FabricSparkSettings.Tests.ps1 - Update-FabricWarehouse.Tests.ps1 - Update-FabricWorkspace.Tests.ps1 - Update-FabricWorkspaceRoleAssignment.Tests.ps1 - Write-FabricLakehouseTableData.Tests.ps1 * Add Pester Help Tests for Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides This commit introduces unit tests for the Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides functions to ensure proper parameter validation and functionality. These tests will help maintain code quality and reliability as the project evolves. Thank you! * Update CodeCoverageThreshold for Pester Help Tests Adjust the CodeCoverageThreshold from 85 to 0.35 to better align with current testing requirements for Pester Help Tests. This change aims to improve the accuracy of code coverage metrics. Thank you! --------- Co-authored-by: Rob Sewell <mrrobsewell@outlook.com> * update issue template for new function * The requirement for PS7 has been abolished #4 * Added unit test & fixed validation for WorkspaceName in Get-FabricWorkspace cmdlet #28 * Apply suggestions from code review the `-` needs to be escaped within the regular expression (good test, that caught this issue!) Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> * Validation correction fixes #28 fixes #41 * Update CmdletBinding to include ConfirmImpact - closes ConfirmImpact of destructive functions should be high #46 This change enhances the safety of the following functions by setting the ConfirmImpact to 'High': - Remove-FabricDomainWorkspaceRoleAssignment - Remove-FabricEnvironment - Remove-FabricEventhouse - Remove-FabricEventstream - Revoke-FabricExternalDataShares - Remove-FabricItem - Remove-FabricMLModel - Remove-FabricReflex - Remove-FabricSQLDatabase - Remove-FabricSparkJobDefinition - Remove-FabricSparkCustomPool - Revoke-FabricCapacityTenantSettingOverrides - Remove-FabricWarehouse This ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * Fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 (#45) * fix for #39 * contenttype not used so post commands were failign * correct comment wording * update api call to fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * formatting & spelling * whitespace changes * lets have a copyJob when we ask for one not a warehouse * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * change confirmImpact to high so confirm works cc. @SQLDBAWithABeard * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for #39 * Removed leading slash from $apiEndpointURI #39 * Removed leading slash #39 --------- * Add ShouldProcess support for revoke functions Enhance the Revoke-FabricExternalDataShares and Revoke-FabricCapacityTenantSettingOverrides functions to include ShouldProcess support, allowing for confirmation prompts before executing the revoke actions. This improves safety and user control over destructive operations. Also, update the corresponding test files to include new parameters for Confirm and WhatIf, ensuring comprehensive testing for these changes. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> * so that we can deploy preview versions to the powershell gallery * to see if we can deploy * so that we can deploy except when the files in root are changed * so that we can deploy except when the files in root are changed and use a valid deployment file. * so that the module manifest has the correct details * so that we build with the required az.accounts version * so that the other required modules are at the versions as well! * so that it will run the publish for the develop branch * so that we can deploy from the develop branch * because we no longer need verbose output here * because we dont need to publish wiki content * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount (#51) * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount Updated the ResourceUrl used to retrieve the authentication token in the Connect-FabricAccount function. This change ensures that the correct API endpoint is utilized for obtaining the Fabric token, improving the reliability of the connection process for Pester Help Tests. Thank you! * Fixed a bug in New-FabricEventhouse that ran Invoke-RestMethod twice. Removed the ShouldProcess Check, rather than the one outside the ShouldProcess This change simplifies the API request process. * Add ShouldProcess check for API request in New-FabricEventhouse This change introduces a ShouldProcess check before making the API request to create a new Eventhouse. This ensures that the operation is confirmed by the user, enhancing safety and control over the action. * Because YAML is hard and indentations hate me Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * fix capital letters to test automation (#53) * Update New-WorkspaceName Modified the validation pattern for the WorkspaceName parameter to allow additional special characters. This change enhances flexibility in naming workspaces while maintaining validation integrity. * Remove WorkspaceName validation pattern.This change simplifies the validation for the WorkspaceName parameter, allowing for greater flexibility in naming workspaces. * Update Changelog for New Features and Improvements Added new PowerShell functions for managing Fabric workspaces and enhanced unit tests for key functions. Updated the validation pattern for WorkspaceName to allow more flexibility and improved documentation across various functions. These changes aim to enhance usability and maintainability of the project. Thank you! * Update CONTRIBUTING.md to enhance changelog guidance Clarify the process for updating the CHANGELOG.md file before submitting changes. Encourage contributors to follow the Keep a Changelog format and provide examples for better organization of changes. This will help maintain clarity and consistency in tracking modifications to the module. Thank you! * Remove sampler branch from pull request workflow for Pester Help Tests This change eliminates the temporary 'sampler' branch from the pull request workflow configuration. This helps streamline the workflow and ensures that only relevant branches are monitored. Thank you! * Update Pull Request Template for Clarity and Consistency closes #52 Refine the PR template by adding examples for clarity and updating the task list for consistency. This ensures contributors have clear guidance on what is expected when submitting a pull request, enhancing the overall contribution process for Pester Help Tests. Thank you! * Remove duplicate Unreleased section from Changelog This change eliminates the redundant "Unreleased" section in the Changelog file to enhance clarity and maintain consistency. Thank you! * Add GitHub Actions workflow for module deployment This commit introduces a new GitHub Actions workflow to automate the deployment of the module to the PowerShell Gallery. It includes steps for packaging the module, publishing it, and creating a changelog pull request. This enhancement aims to streamline the release process and ensure consistency in deployments for Pester Help Tests. Thank you! * Add ReleaseBranch and MainGitBranch to workflow This change adds the ReleaseBranch and MainGitBranch environment variables to the deploy-preview-module workflow. This enhancement ensures that the correct branches are referenced during the deployment process for Pester Help Tests. Thank you! * Update module manifest author and generation date Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update module manifest author and generation date (#65) Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update comment for RequiredAssemblies section Clarify the purpose of the RequiredAssemblies section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Add permissions for GitHub Actions workflow This update adds necessary permissions for the GitHub Actions workflow to ensure it can perform actions like writing to contents, pull requests, and deployments. This change is essential for the proper functioning of the deployment process for Pester Help Tests. Thank you! * Today Rob will mainly be creating PRs for deployments so that Jess can approve them (#68) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * we wont tag (#69) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * we wont create change release branch (#70) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * updating pipelines (#72) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * pipeline update (#73) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * Update GitHub Actions workflows Refactor the deployment and PR workflows by removing redundant GitHubToken assignment and simplifying the build command. This enhances clarity and maintains functionality for Pester Help Tests. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> Co-authored-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> Co-authored-by: Ioana Bouariu <ibouariu@yahoo.com>
* Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor Script Analyzer Test for Pester Help Tests Updated the Script Analyzer test to filter test cases based on exported commands. This change ensures that only relevant functions are analyzed, improving the accuracy of the tests. Thank you! * Refactor Add-FabricWorkspaceIdentity for Pester Help Tests Clean up whitespace and improve readability in the Add-FabricWorkspaceIdentity function. This enhances the code quality and maintains consistency for Pester Help Tests. Thank you! * used the dbatools formatter * extra space in help * Fix parameter naming in Get-FabricCopyJob function and update examples * Update CONTRIBUTING.md with proper code formatting Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * test pushing conflicted files * lets run some tests on PR * sample branches to test with * Updated the test command in the workflow to ensure proper execution by removing the unnecessary module import. This change helps avoid issues with loading dependencies during testing. * Remove temporary test branch from workflow for Pester Help Tests This change simplifies the workflow configuration by removing the unnecessary 'testBranch' entry. This helps maintain clarity and focus on the relevant branches for testing. Thank you! * fix for #25 add config variables to private function so executed on build * Fix formatting in Get-FabricDatamart example and add error logging message * Added an important box for important content. * Update CONTRIBUTING.md for clarity and structure Refine the development workflow instructions for better readability and understanding. Adjusted the numbering and formatting for consistency. This will help contributors follow the guidelines more easily for Pester Help Tests. * Update CONTRIBUTING.md for clarity and structure Refine the development and testing instructions for better understanding. Enhance the formatting of sections and emphasize important guidelines for contributors. Thank you! * Update Code of Conduct for clarity and inclusivity This update enhances the Code of Conduct to ensure a welcoming, respectful, and inclusive environment for all contributors. It outlines expected behaviors and the consequences of unacceptable actions. * Add standard tests for each function (#35) * tests for all * Add OutputType attributes for improved type safety This update introduces OutputType attributes to several functions, enhancing type safety and providing better integration with tools that rely on type information. This change will help users understand the expected output of these functions more clearly, which is beneficial for Pester Help Tests. Thank you! * Add SuppressMessageAttribute for Pester Help Tests This change adds a SuppressMessageAttribute to the Set-FabricAuthToken function. This adjustment is necessary to allow the current unit tests to pass without warnings related to the use of ConvertToSecureString with plain text. Thank you! * So that the naming of functions matches approved PowerShell Verbs fixes #14 - Added Remove-FabricDomainWorkspaceAssignment to unassign workspaces from a Fabric domain. - Introduced Remove-FabricDomainWorkspaceRoleAssignment for bulk unassigning roles from principals in a Fabric domain. - Created Import-FabricEnvironmentStagingLibrary to upload libraries to the staging environment in a Fabric workspace. - Developed Write-FabricLakehouseTableData to load data into Lakehouse tables from files or folders. - Implemented Add-FabricWorkspaceCapacityAssignment to assign a workspace to a specified capacity. - Added Remove-FabricWorkspaceCapacityAssignment to unassign a workspace from its capacity. - Created unit tests for all new functions to ensure parameter validation and functionality. * change file and test name * remove file to match develop - missed commit * Refactor PowerShell functions to support ShouldProcess for safer execution fixes #12 - Updated multiple functions across various scripts to include [CmdletBinding(SupportsShouldProcess)] for better user confirmation before executing potentially destructive actions. - Enhanced error handling by restructuring try-catch blocks for improved readability and consistency. - Ensured that API requests are wrapped in ShouldProcess checks to prevent unintended changes. - Cleaned up code formatting and improved validation checks for input parameters. * Add WhatIf and Confirm parameters to various FabricTools update tests for Missing Pester Tests #7 - Updated expected parameters in the following test files to include "WhatIf" and "Confirm": - Update-FabricEventhouseDefinition.Tests.ps1 - Update-FabricEventstream.Tests.ps1 - Update-FabricEventstreamDefinition.Tests.ps1 - Update-FabricKQLDashboard.Tests.ps1 - Update-FabricKQLDashboardDefinition.Tests.ps1 - Update-FabricKQLDatabase.Tests.ps1 - Update-FabricKQLDatabaseDefinition.Tests.ps1 - Update-FabricKQLQueryset.Tests.ps1 - Update-FabricKQLQuerysetDefinition.Tests.ps1 - Update-FabricLakehouse.Tests.ps1 - Update-FabricMLExperiment.Tests.ps1 - Update-FabricMLModel.Tests.ps1 - Update-FabricMirroredDatabase.Tests.ps1 - Update-FabricMirroredDatabaseDefinition.Tests.ps1 - Update-FabricNotebook.Tests.ps1 - Update-FabricNotebookDefinition.Tests.ps1 - Update-FabricPaginatedReport.Tests.ps1 - Update-FabricReflex.Tests.ps1 - Update-FabricReflexDefinition.Tests.ps1 - Update-FabricReport.Tests.ps1 - Update-FabricReportDefinition.Tests.ps1 - Update-FabricSemanticModel.Tests.ps1 - Update-FabricSemanticModelDefinition.Tests.ps1 - Update-FabricSparkCustomPool.Tests.ps1 - Update-FabricSparkJobDefinition.Tests.ps1 - Update-FabricSparkJobDefinitionDefinition.Tests.ps1 - Update-FabricSparkSettings.Tests.ps1 - Update-FabricWarehouse.Tests.ps1 - Update-FabricWorkspace.Tests.ps1 - Update-FabricWorkspaceRoleAssignment.Tests.ps1 - Write-FabricLakehouseTableData.Tests.ps1 * Add Pester Help Tests for Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides This commit introduces unit tests for the Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides functions to ensure proper parameter validation and functionality. These tests will help maintain code quality and reliability as the project evolves. Thank you! * Update CodeCoverageThreshold for Pester Help Tests Adjust the CodeCoverageThreshold from 85 to 0.35 to better align with current testing requirements for Pester Help Tests. This change aims to improve the accuracy of code coverage metrics. Thank you! --------- Co-authored-by: Rob Sewell <mrrobsewell@outlook.com> * update issue template for new function * The requirement for PS7 has been abolished #4 * Added unit test & fixed validation for WorkspaceName in Get-FabricWorkspace cmdlet #28 * Apply suggestions from code review the `-` needs to be escaped within the regular expression (good test, that caught this issue!) Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> * Validation correction fixes #28 fixes #41 * Update CmdletBinding to include ConfirmImpact - closes ConfirmImpact of destructive functions should be high #46 This change enhances the safety of the following functions by setting the ConfirmImpact to 'High': - Remove-FabricDomainWorkspaceRoleAssignment - Remove-FabricEnvironment - Remove-FabricEventhouse - Remove-FabricEventstream - Revoke-FabricExternalDataShares - Remove-FabricItem - Remove-FabricMLModel - Remove-FabricReflex - Remove-FabricSQLDatabase - Remove-FabricSparkJobDefinition - Remove-FabricSparkCustomPool - Revoke-FabricCapacityTenantSettingOverrides - Remove-FabricWarehouse This ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * Fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 (#45) * fix for #39 * contenttype not used so post commands were failign * correct comment wording * update api call to fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * formatting & spelling * whitespace changes * lets have a copyJob when we ask for one not a warehouse * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * change confirmImpact to high so confirm works cc. @SQLDBAWithABeard * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for #39 * Removed leading slash from $apiEndpointURI #39 * Removed leading slash #39 --------- * Add ShouldProcess support for revoke functions Enhance the Revoke-FabricExternalDataShares and Revoke-FabricCapacityTenantSettingOverrides functions to include ShouldProcess support, allowing for confirmation prompts before executing the revoke actions. This improves safety and user control over destructive operations. Also, update the corresponding test files to include new parameters for Confirm and WhatIf, ensuring comprehensive testing for these changes. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> * Removed debug messages for token validation in various scripts (it already exists in Test-TokenExpired cmdlet) #18 * so that we can deploy preview versions to the powershell gallery * to see if we can deploy * so that we can deploy except when the files in root are changed * so that we can deploy except when the files in root are changed and use a valid deployment file. * so that the module manifest has the correct details * so that we build with the required az.accounts version * so that the other required modules are at the versions as well! * so that it will run the publish for the develop branch * so that we can deploy from the develop branch * because we no longer need verbose output here * because we dont need to publish wiki content * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount (#51) * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount Updated the ResourceUrl used to retrieve the authentication token in the Connect-FabricAccount function. This change ensures that the correct API endpoint is utilized for obtaining the Fabric token, improving the reliability of the connection process for Pester Help Tests. Thank you! * Fixed a bug in New-FabricEventhouse that ran Invoke-RestMethod twice. Removed the ShouldProcess Check, rather than the one outside the ShouldProcess This change simplifies the API request process. * Add ShouldProcess check for API request in New-FabricEventhouse This change introduces a ShouldProcess check before making the API request to create a new Eventhouse. This ensures that the operation is confirmed by the user, enhancing safety and control over the action. * Because YAML is hard and indentations hate me Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * fix capital letters to test automation (#53) * Replaced Invoke-PowerBIRestMethod & Invoke-RestMethod by Invoke-FabricRestMethod #44 * Update New-WorkspaceName Modified the validation pattern for the WorkspaceName parameter to allow additional special characters. This change enhances flexibility in naming workspaces while maintaining validation integrity. * Remove WorkspaceName validation pattern.This change simplifies the validation for the WorkspaceName parameter, allowing for greater flexibility in naming workspaces. * Update Changelog for New Features and Improvements Added new PowerShell functions for managing Fabric workspaces and enhanced unit tests for key functions. Updated the validation pattern for WorkspaceName to allow more flexibility and improved documentation across various functions. These changes aim to enhance usability and maintainability of the project. Thank you! * Update CONTRIBUTING.md to enhance changelog guidance Clarify the process for updating the CHANGELOG.md file before submitting changes. Encourage contributors to follow the Keep a Changelog format and provide examples for better organization of changes. This will help maintain clarity and consistency in tracking modifications to the module. Thank you! * Remove sampler branch from pull request workflow for Pester Help Tests This change eliminates the temporary 'sampler' branch from the pull request workflow configuration. This helps streamline the workflow and ensures that only relevant branches are monitored. Thank you! * Update Pull Request Template for Clarity and Consistency closes #52 Refine the PR template by adding examples for clarity and updating the task list for consistency. This ensures contributors have clear guidance on what is expected when submitting a pull request, enhancing the overall contribution process for Pester Help Tests. Thank you! * Remove duplicate Unreleased section from Changelog This change eliminates the redundant "Unreleased" section in the Changelog file to enhance clarity and maintain consistency. Thank you! * Add GitHub Actions workflow for module deployment This commit introduces a new GitHub Actions workflow to automate the deployment of the module to the PowerShell Gallery. It includes steps for packaging the module, publishing it, and creating a changelog pull request. This enhancement aims to streamline the release process and ensure consistency in deployments for Pester Help Tests. Thank you! * Add ReleaseBranch and MainGitBranch to workflow This change adds the ReleaseBranch and MainGitBranch environment variables to the deploy-preview-module workflow. This enhancement ensures that the correct branches are referenced during the deployment process for Pester Help Tests. Thank you! * Update module manifest author and generation date Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update module manifest author and generation date (#65) Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update comment for RequiredAssemblies section Clarify the purpose of the RequiredAssemblies section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Add permissions for GitHub Actions workflow This update adds necessary permissions for the GitHub Actions workflow to ensure it can perform actions like writing to contents, pull requests, and deployments. This change is essential for the proper functioning of the deployment process for Pester Help Tests. Thank you! * Today Rob will mainly be creating PRs for deployments so that Jess can approve them (#68) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * we wont tag (#69) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * we wont create change release branch (#70) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * updating pipelines (#72) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * pipeline update (#73) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * Update GitHub Actions workflows Refactor the deployment and PR workflows by removing redundant GitHubToken assignment and simplifying the build command. This enhances clarity and maintains functionality for Pester Help Tests. Thank you! * Add Service Principal parameters for authentication Enhanced the Connect-FabricAccount function by adding support for Service Principal authentication. This includes new parameters for ServicePrincipalId, ServicePrincipalSecret, and Credential, allowing for more flexible authentication options. Updated the unit tests to reflect these changes and ensure proper validation. Thank you! * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Removed all ValidationPattern from get-, new-, update- cmdlets of all items (#59) * Removed all ValidationPattern from get-, new-, update- cmdlets of all items * Removed all ValidationPattern from get-, new-, update- cmdlets of all items * remove validation test as we no longer validate --------- Co-authored-by: jpomfret <jpomfret7@gmail.com> * So that we have good practice and resolve PR comments Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Updating the examples Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Updating should process Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Because I didnt edit in vscode where the whitespace would be removed Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Remove-FabricWarehouse fix (#80) * fixes #78 * update changelog * don't need to capture response * Deploy/fix (#81) * Update PR template to clarify contribution guidelines This change modifies the pull request template to ensure that contributors are reminded to follow the contribution guidelines. This helps maintain consistency and quality in the contributions made to the project. Thank you! * Add Deploy Preview Module workflow for Pester Help Tests This commit introduces a new GitHub Actions workflow for deploying a preview version of the module when changes are pushed to the develop branch. This enhancement allows for better testing and validation of features before merging into the main branch. Thank you! * Fix: Renamed BaseURI to Uri for all calls of Invoke-FabricRestMethod #44 * Resolved 3 warnings from ScriptAnalyzer * Added unit test for Invoke-FabricRestMethod #44 * $Body parameter also should be used, right? * Removed `Invoke-FabricAPIRequest` and replaced it by `Invoke-FabricRestMethodExtended` * changelog * Removed FabricToken from global FabricSession variable and Token from AzureSession * Added Update-FabricToken function * Removed Set-FabricAuthToken and replaced it with Connect-FabricAccount * Get-FabricAuthToken returns token only * Renamed TenantIdGlobal to TenantId * - Removed `Confirm-FabricAuthToken` and extended existing `Test-TokenExpired` using `EnableTokenRefresh` Feature Flag - Removed `Set-FabricApiHeaders` and merged the entire logic to `Connect-FabricAccount` #44 * Fixed warnings from ScriptAnalyzer for Invoke-FabricRestMethodExtended * Fixed UnitTest for Connect-FabricAccount * Refactor Update-FabricToken to support ShouldProcess and add missing parameters for Pester tests * CodeCoverageThreshold = 0.30 for now * Avoid duplicated execution of Test-TokenExpired as it's executed on parent (functions) level * Update Az.Accounts module version to avoid errors Updated the 'Az.Accounts' module version from '4.2.0' to '5.0.0' in both RequiredModules.psd1 and FabricTools.psd1 to ensure compatibility with the latest features and improvements Thank you! * Clarify commit message instructions for Pester tests Updated the guidelines to specify that the subject line should include reasoning for changes related to Pester Help Tests. This enhances clarity and consistency in commit messages. Thank you! * Add "TestTokenExpired" to expected parameters This change includes "TestTokenExpired" in the list of expected parameters for the Invoke-FabricRestMethod tests. This ensures that the tests accurately reflect the parameters that the method should support. Thank you! * because 2019 on the runner is deprecated * Update CONTRIBUTING.md for clearer development guidelines Clarify the importance of starting a fresh PowerShell session for module development to avoid interference from previous sessions. Additionally, emphasize the need to verify dependencies and suggest running tests in a clean environment to catch potential issues. Thank you! * Body parameter - This can be a hashtable or a string. If a hashtable is provided, it will be converted to JSON format. * Added Credits * Fixed links to fabricps-pbip * Set CmdletBinding ConfirmImpact to 'High' for safety Updated the CmdletBinding attribute in multiple functions to set ConfirmImpact to 'High'. This change enhances the safety of operations by ensuring that users are prompted for confirmation before executing potentially destructive actions. Thank you! * adding Balabuch to the cSpell allowed words * Set CmdletBinding ConfirmImpact to 'High' for safety Updated CmdletBinding in multiple scripts to set ConfirmImpact to 'High' to enhance safety during operations. This change ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * spacing and white space changes * Remove unnecessary code (write-Message) * Update source/Public/Invoke-FabricRestMethod.ps1 Cosmetic changes Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Kamil Nowinski <kamil@nowinski.net> * Update source/FabricTools.psd1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Kamil Nowinski <kamil@nowinski.net> * use `$FabricConfig.BaseUrl` to avoid a hard-coded base URL. * Fixed comments * More elegant way to decode token to plain text needed for request's headers * Fixed auto-refresh token feature being used in Test-TokenExpired * Invoke-FabricRestMethod can execute PowerBI API when needed Fixed Get-FabricWorkspaceUsers function * Get-FabricDatasetRefreshes must use PowerBI API * Fixed test for Invoke-FabricRestMethod (new param) * Renamed Test-TokenExpired -> Confirm-TokenState and deleted Update-TokenExpired * So that we can pass the tag back to the develop branch (#92) This will ensure that the deployment of the preview releases is correctly tagged by GItVersion (I hope) Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * so that we have changelog building Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * I'm not sure the token has the perms Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * because the 21 tag is not on the develop branch Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * This should not run for main branch We do not need to push a preview release when we are about to make a main release. We may need to test but that is for later Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> Signed-off-by: Kamil Nowinski <kamil@nowinski.net> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> Co-authored-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> Co-authored-by: Ioana Bouariu <ibouariu@yahoo.com>
* Release Me (#74) * Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor Script Analyzer Test for Pester Help Tests Updated the Script Analyzer test to filter test cases based on exported commands. This change ensures that only relevant functions are analyzed, improving the accuracy of the tests. Thank you! * Refactor Add-FabricWorkspaceIdentity for Pester Help Tests Clean up whitespace and improve readability in the Add-FabricWorkspaceIdentity function. This enhances the code quality and maintains consistency for Pester Help Tests. Thank you! * used the dbatools formatter * extra space in help * Fix parameter naming in Get-FabricCopyJob function and update examples * Update CONTRIBUTING.md with proper code formatting Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * test pushing conflicted files * lets run some tests on PR * sample branches to test with * Updated the test command in the workflow to ensure proper execution by removing the unnecessary module import. This change helps avoid issues with loading dependencies during testing. * Remove temporary test branch from workflow for Pester Help Tests This change simplifies the workflow configuration by removing the unnecessary 'testBranch' entry. This helps maintain clarity and focus on the relevant branches for testing. Thank you! * fix for #25 add config variables to private function so executed on build * Fix formatting in Get-FabricDatamart example and add error logging message * Added an important box for important content. * Update CONTRIBUTING.md for clarity and structure Refine the development workflow instructions for better readability and understanding. Adjusted the numbering and formatting for consistency. This will help contributors follow the guidelines more easily for Pester Help Tests. * Update CONTRIBUTING.md for clarity and structure Refine the development and testing instructions for better understanding. Enhance the formatting of sections and emphasize important guidelines for contributors. Thank you! * Update Code of Conduct for clarity and inclusivity This update enhances the Code of Conduct to ensure a welcoming, respectful, and inclusive environment for all contributors. It outlines expected behaviors and the consequences of unacceptable actions. * Add standard tests for each function (#35) * tests for all * Add OutputType attributes for improved type safety This update introduces OutputType attributes to several functions, enhancing type safety and providing better integration with tools that rely on type information. This change will help users understand the expected output of these functions more clearly, which is beneficial for Pester Help Tests. Thank you! * Add SuppressMessageAttribute for Pester Help Tests This change adds a SuppressMessageAttribute to the Set-FabricAuthToken function. This adjustment is necessary to allow the current unit tests to pass without warnings related to the use of ConvertToSecureString with plain text. Thank you! * So that the naming of functions matches approved PowerShell Verbs fixes #14 - Added Remove-FabricDomainWorkspaceAssignment to unassign workspaces from a Fabric domain. - Introduced Remove-FabricDomainWorkspaceRoleAssignment for bulk unassigning roles from principals in a Fabric domain. - Created Import-FabricEnvironmentStagingLibrary to upload libraries to the staging environment in a Fabric workspace. - Developed Write-FabricLakehouseTableData to load data into Lakehouse tables from files or folders. - Implemented Add-FabricWorkspaceCapacityAssignment to assign a workspace to a specified capacity. - Added Remove-FabricWorkspaceCapacityAssignment to unassign a workspace from its capacity. - Created unit tests for all new functions to ensure parameter validation and functionality. * change file and test name * remove file to match develop - missed commit * Refactor PowerShell functions to support ShouldProcess for safer execution fixes #12 - Updated multiple functions across various scripts to include [CmdletBinding(SupportsShouldProcess)] for better user confirmation before executing potentially destructive actions. - Enhanced error handling by restructuring try-catch blocks for improved readability and consistency. - Ensured that API requests are wrapped in ShouldProcess checks to prevent unintended changes. - Cleaned up code formatting and improved validation checks for input parameters. * Add WhatIf and Confirm parameters to various FabricTools update tests for Missing Pester Tests #7 - Updated expected parameters in the following test files to include "WhatIf" and "Confirm": - Update-FabricEventhouseDefinition.Tests.ps1 - Update-FabricEventstream.Tests.ps1 - Update-FabricEventstreamDefinition.Tests.ps1 - Update-FabricKQLDashboard.Tests.ps1 - Update-FabricKQLDashboardDefinition.Tests.ps1 - Update-FabricKQLDatabase.Tests.ps1 - Update-FabricKQLDatabaseDefinition.Tests.ps1 - Update-FabricKQLQueryset.Tests.ps1 - Update-FabricKQLQuerysetDefinition.Tests.ps1 - Update-FabricLakehouse.Tests.ps1 - Update-FabricMLExperiment.Tests.ps1 - Update-FabricMLModel.Tests.ps1 - Update-FabricMirroredDatabase.Tests.ps1 - Update-FabricMirroredDatabaseDefinition.Tests.ps1 - Update-FabricNotebook.Tests.ps1 - Update-FabricNotebookDefinition.Tests.ps1 - Update-FabricPaginatedReport.Tests.ps1 - Update-FabricReflex.Tests.ps1 - Update-FabricReflexDefinition.Tests.ps1 - Update-FabricReport.Tests.ps1 - Update-FabricReportDefinition.Tests.ps1 - Update-FabricSemanticModel.Tests.ps1 - Update-FabricSemanticModelDefinition.Tests.ps1 - Update-FabricSparkCustomPool.Tests.ps1 - Update-FabricSparkJobDefinition.Tests.ps1 - Update-FabricSparkJobDefinitionDefinition.Tests.ps1 - Update-FabricSparkSettings.Tests.ps1 - Update-FabricWarehouse.Tests.ps1 - Update-FabricWorkspace.Tests.ps1 - Update-FabricWorkspaceRoleAssignment.Tests.ps1 - Write-FabricLakehouseTableData.Tests.ps1 * Add Pester Help Tests for Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides This commit introduces unit tests for the Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides functions to ensure proper parameter validation and functionality. These tests will help maintain code quality and reliability as the project evolves. Thank you! * Update CodeCoverageThreshold for Pester Help Tests Adjust the CodeCoverageThreshold from 85 to 0.35 to better align with current testing requirements for Pester Help Tests. This change aims to improve the accuracy of code coverage metrics. Thank you! --------- Co-authored-by: Rob Sewell <mrrobsewell@outlook.com> * update issue template for new function * The requirement for PS7 has been abolished #4 * Added unit test & fixed validation for WorkspaceName in Get-FabricWorkspace cmdlet #28 * Apply suggestions from code review the `-` needs to be escaped within the regular expression (good test, that caught this issue!) Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> * Validation correction fixes #28 fixes #41 * Update CmdletBinding to include ConfirmImpact - closes ConfirmImpact of destructive functions should be high #46 This change enhances the safety of the following functions by setting the ConfirmImpact to 'High': - Remove-FabricDomainWorkspaceRoleAssignment - Remove-FabricEnvironment - Remove-FabricEventhouse - Remove-FabricEventstream - Revoke-FabricExternalDataShares - Remove-FabricItem - Remove-FabricMLModel - Remove-FabricReflex - Remove-FabricSQLDatabase - Remove-FabricSparkJobDefinition - Remove-FabricSparkCustomPool - Revoke-FabricCapacityTenantSettingOverrides - Remove-FabricWarehouse This ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * Fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 (#45) * fix for #39 * contenttype not used so post commands were failign * correct comment wording * update api call to fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * formatting & spelling * whitespace changes * lets have a copyJob when we ask for one not a warehouse * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * change confirmImpact to high so confirm works cc. @SQLDBAWithABeard * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for #39 * Removed leading slash from $apiEndpointURI #39 * Removed leading slash #39 --------- * Add ShouldProcess support for revoke functions Enhance the Revoke-FabricExternalDataShares and Revoke-FabricCapacityTenantSettingOverrides functions to include ShouldProcess support, allowing for confirmation prompts before executing the revoke actions. This improves safety and user control over destructive operations. Also, update the corresponding test files to include new parameters for Confirm and WhatIf, ensuring comprehensive testing for these changes. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> * so that we can deploy preview versions to the powershell gallery * to see if we can deploy * so that we can deploy except when the files in root are changed * so that we can deploy except when the files in root are changed and use a valid deployment file. * so that the module manifest has the correct details * so that we build with the required az.accounts version * so that the other required modules are at the versions as well! * so that it will run the publish for the develop branch * so that we can deploy from the develop branch * because we no longer need verbose output here * because we dont need to publish wiki content * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount (#51) * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount Updated the ResourceUrl used to retrieve the authentication token in the Connect-FabricAccount function. This change ensures that the correct API endpoint is utilized for obtaining the Fabric token, improving the reliability of the connection process for Pester Help Tests. Thank you! * Fixed a bug in New-FabricEventhouse that ran Invoke-RestMethod twice. Removed the ShouldProcess Check, rather than the one outside the ShouldProcess This change simplifies the API request process. * Add ShouldProcess check for API request in New-FabricEventhouse This change introduces a ShouldProcess check before making the API request to create a new Eventhouse. This ensures that the operation is confirmed by the user, enhancing safety and control over the action. * Because YAML is hard and indentations hate me Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * fix capital letters to test automation (#53) * Update New-WorkspaceName Modified the validation pattern for the WorkspaceName parameter to allow additional special characters. This change enhances flexibility in naming workspaces while maintaining validation integrity. * Remove WorkspaceName validation pattern.This change simplifies the validation for the WorkspaceName parameter, allowing for greater flexibility in naming workspaces. * Update Changelog for New Features and Improvements Added new PowerShell functions for managing Fabric workspaces and enhanced unit tests for key functions. Updated the validation pattern for WorkspaceName to allow more flexibility and improved documentation across various functions. These changes aim to enhance usability and maintainability of the project. Thank you! * Update CONTRIBUTING.md to enhance changelog guidance Clarify the process for updating the CHANGELOG.md file before submitting changes. Encourage contributors to follow the Keep a Changelog format and provide examples for better organization of changes. This will help maintain clarity and consistency in tracking modifications to the module. Thank you! * Remove sampler branch from pull request workflow for Pester Help Tests This change eliminates the temporary 'sampler' branch from the pull request workflow configuration. This helps streamline the workflow and ensures that only relevant branches are monitored. Thank you! * Update Pull Request Template for Clarity and Consistency closes #52 Refine the PR template by adding examples for clarity and updating the task list for consistency. This ensures contributors have clear guidance on what is expected when submitting a pull request, enhancing the overall contribution process for Pester Help Tests. Thank you! * Remove duplicate Unreleased section from Changelog This change eliminates the redundant "Unreleased" section in the Changelog file to enhance clarity and maintain consistency. Thank you! * Add GitHub Actions workflow for module deployment This commit introduces a new GitHub Actions workflow to automate the deployment of the module to the PowerShell Gallery. It includes steps for packaging the module, publishing it, and creating a changelog pull request. This enhancement aims to streamline the release process and ensure consistency in deployments for Pester Help Tests. Thank you! * Add ReleaseBranch and MainGitBranch to workflow This change adds the ReleaseBranch and MainGitBranch environment variables to the deploy-preview-module workflow. This enhancement ensures that the correct branches are referenced during the deployment process for Pester Help Tests. Thank you! * Update module manifest author and generation date Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update module manifest author and generation date (#65) Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update comment for RequiredAssemblies section Clarify the purpose of the RequiredAssemblies section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Add permissions for GitHub Actions workflow This update adds necessary permissions for the GitHub Actions workflow to ensure it can perform actions like writing to contents, pull requests, and deployments. This change is essential for the proper functioning of the deployment process for Pester Help Tests. Thank you! * Today Rob will mainly be creating PRs for deployments so that Jess can approve them (#68) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * we wont tag (#69) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * we wont create change release branch (#70) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * updating pipelines (#72) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * pipeline update (#73) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * Update GitHub Actions workflows Refactor the deployment and PR workflows by removing redundant GitHubToken assignment and simplifying the build command. This enhances clarity and maintains functionality for Pester Help Tests. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> Co-authored-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> Co-authored-by: Ioana Bouariu <ibouariu@yahoo.com> * The next release. (#93) * Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor Script Analyzer Test for Pester Help Tests Updated the Script Analyzer test to filter test cases based on exported commands. This change ensures that only relevant functions are analyzed, improving the accuracy of the tests. Thank you! * Refactor Add-FabricWorkspaceIdentity for Pester Help Tests Clean up whitespace and improve readability in the Add-FabricWorkspaceIdentity function. This enhances the code quality and maintains consistency for Pester Help Tests. Thank you! * used the dbatools formatter * extra space in help * Fix parameter naming in Get-FabricCopyJob function and update examples * Update CONTRIBUTING.md with proper code formatting Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * test pushing conflicted files * lets run some tests on PR * sample branches to test with * Updated the test command in the workflow to ensure proper execution by removing the unnecessary module import. This change helps avoid issues with loading dependencies during testing. * Remove temporary test branch from workflow for Pester Help Tests This change simplifies the workflow configuration by removing the unnecessary 'testBranch' entry. This helps maintain clarity and focus on the relevant branches for testing. Thank you! * fix for #25 add config variables to private function so executed on build * Fix formatting in Get-FabricDatamart example and add error logging message * Added an important box for important content. * Update CONTRIBUTING.md for clarity and structure Refine the development workflow instructions for better readability and understanding. Adjusted the numbering and formatting for consistency. This will help contributors follow the guidelines more easily for Pester Help Tests. * Update CONTRIBUTING.md for clarity and structure Refine the development and testing instructions for better understanding. Enhance the formatting of sections and emphasize important guidelines for contributors. Thank you! * Update Code of Conduct for clarity and inclusivity This update enhances the Code of Conduct to ensure a welcoming, respectful, and inclusive environment for all contributors. It outlines expected behaviors and the consequences of unacceptable actions. * Add standard tests for each function (#35) * tests for all * Add OutputType attributes for improved type safety This update introduces OutputType attributes to several functions, enhancing type safety and providing better integration with tools that rely on type information. This change will help users understand the expected output of these functions more clearly, which is beneficial for Pester Help Tests. Thank you! * Add SuppressMessageAttribute for Pester Help Tests This change adds a SuppressMessageAttribute to the Set-FabricAuthToken function. This adjustment is necessary to allow the current unit tests to pass without warnings related to the use of ConvertToSecureString with plain text. Thank you! * So that the naming of functions matches approved PowerShell Verbs fixes #14 - Added Remove-FabricDomainWorkspaceAssignment to unassign workspaces from a Fabric domain. - Introduced Remove-FabricDomainWorkspaceRoleAssignment for bulk unassigning roles from principals in a Fabric domain. - Created Import-FabricEnvironmentStagingLibrary to upload libraries to the staging environment in a Fabric workspace. - Developed Write-FabricLakehouseTableData to load data into Lakehouse tables from files or folders. - Implemented Add-FabricWorkspaceCapacityAssignment to assign a workspace to a specified capacity. - Added Remove-FabricWorkspaceCapacityAssignment to unassign a workspace from its capacity. - Created unit tests for all new functions to ensure parameter validation and functionality. * change file and test name * remove file to match develop - missed commit * Refactor PowerShell functions to support ShouldProcess for safer execution fixes #12 - Updated multiple functions across various scripts to include [CmdletBinding(SupportsShouldProcess)] for better user confirmation before executing potentially destructive actions. - Enhanced error handling by restructuring try-catch blocks for improved readability and consistency. - Ensured that API requests are wrapped in ShouldProcess checks to prevent unintended changes. - Cleaned up code formatting and improved validation checks for input parameters. * Add WhatIf and Confirm parameters to various FabricTools update tests for Missing Pester Tests #7 - Updated expected parameters in the following test files to include "WhatIf" and "Confirm": - Update-FabricEventhouseDefinition.Tests.ps1 - Update-FabricEventstream.Tests.ps1 - Update-FabricEventstreamDefinition.Tests.ps1 - Update-FabricKQLDashboard.Tests.ps1 - Update-FabricKQLDashboardDefinition.Tests.ps1 - Update-FabricKQLDatabase.Tests.ps1 - Update-FabricKQLDatabaseDefinition.Tests.ps1 - Update-FabricKQLQueryset.Tests.ps1 - Update-FabricKQLQuerysetDefinition.Tests.ps1 - Update-FabricLakehouse.Tests.ps1 - Update-FabricMLExperiment.Tests.ps1 - Update-FabricMLModel.Tests.ps1 - Update-FabricMirroredDatabase.Tests.ps1 - Update-FabricMirroredDatabaseDefinition.Tests.ps1 - Update-FabricNotebook.Tests.ps1 - Update-FabricNotebookDefinition.Tests.ps1 - Update-FabricPaginatedReport.Tests.ps1 - Update-FabricReflex.Tests.ps1 - Update-FabricReflexDefinition.Tests.ps1 - Update-FabricReport.Tests.ps1 - Update-FabricReportDefinition.Tests.ps1 - Update-FabricSemanticModel.Tests.ps1 - Update-FabricSemanticModelDefinition.Tests.ps1 - Update-FabricSparkCustomPool.Tests.ps1 - Update-FabricSparkJobDefinition.Tests.ps1 - Update-FabricSparkJobDefinitionDefinition.Tests.ps1 - Update-FabricSparkSettings.Tests.ps1 - Update-FabricWarehouse.Tests.ps1 - Update-FabricWorkspace.Tests.ps1 - Update-FabricWorkspaceRoleAssignment.Tests.ps1 - Write-FabricLakehouseTableData.Tests.ps1 * Add Pester Help Tests for Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides This commit introduces unit tests for the Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides functions to ensure proper parameter validation and functionality. These tests will help maintain code quality and reliability as the project evolves. Thank you! * Update CodeCoverageThreshold for Pester Help Tests Adjust the CodeCoverageThreshold from 85 to 0.35 to better align with current testing requirements for Pester Help Tests. This change aims to improve the accuracy of code coverage metrics. Thank you! --------- Co-authored-by: Rob Sewell <mrrobsewell@outlook.com> * update issue template for new function * The requirement for PS7 has been abolished #4 * Added unit test & fixed validation for WorkspaceName in Get-FabricWorkspace cmdlet #28 * Apply suggestions from code review the `-` needs to be escaped within the regular expression (good test, that caught this issue!) Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> * Validation correction fixes #28 fixes #41 * Update CmdletBinding to include ConfirmImpact - closes ConfirmImpact of destructive functions …
* Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor Script Analyzer Test for Pester Help Tests Updated the Script Analyzer test to filter test cases based on exported commands. This change ensures that only relevant functions are analyzed, improving the accuracy of the tests. Thank you! * Refactor Add-FabricWorkspaceIdentity for Pester Help Tests Clean up whitespace and improve readability in the Add-FabricWorkspaceIdentity function. This enhances the code quality and maintains consistency for Pester Help Tests. Thank you! * used the dbatools formatter * extra space in help * Fix parameter naming in Get-FabricCopyJob function and update examples * Update CONTRIBUTING.md with proper code formatting Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * test pushing conflicted files * lets run some tests on PR * sample branches to test with * Updated the test command in the workflow to ensure proper execution by removing the unnecessary module import. This change helps avoid issues with loading dependencies during testing. * Remove temporary test branch from workflow for Pester Help Tests This change simplifies the workflow configuration by removing the unnecessary 'testBranch' entry. This helps maintain clarity and focus on the relevant branches for testing. Thank you! * fix for #25 add config variables to private function so executed on build * Fix formatting in Get-FabricDatamart example and add error logging message * Added an important box for important content. * Update CONTRIBUTING.md for clarity and structure Refine the development workflow instructions for better readability and understanding. Adjusted the numbering and formatting for consistency. This will help contributors follow the guidelines more easily for Pester Help Tests. * Update CONTRIBUTING.md for clarity and structure Refine the development and testing instructions for better understanding. Enhance the formatting of sections and emphasize important guidelines for contributors. Thank you! * Update Code of Conduct for clarity and inclusivity This update enhances the Code of Conduct to ensure a welcoming, respectful, and inclusive environment for all contributors. It outlines expected behaviors and the consequences of unacceptable actions. * Add standard tests for each function (#35) * tests for all * Add OutputType attributes for improved type safety This update introduces OutputType attributes to several functions, enhancing type safety and providing better integration with tools that rely on type information. This change will help users understand the expected output of these functions more clearly, which is beneficial for Pester Help Tests. Thank you! * Add SuppressMessageAttribute for Pester Help Tests This change adds a SuppressMessageAttribute to the Set-FabricAuthToken function. This adjustment is necessary to allow the current unit tests to pass without warnings related to the use of ConvertToSecureString with plain text. Thank you! * So that the naming of functions matches approved PowerShell Verbs fixes #14 - Added Remove-FabricDomainWorkspaceAssignment to unassign workspaces from a Fabric domain. - Introduced Remove-FabricDomainWorkspaceRoleAssignment for bulk unassigning roles from principals in a Fabric domain. - Created Import-FabricEnvironmentStagingLibrary to upload libraries to the staging environment in a Fabric workspace. - Developed Write-FabricLakehouseTableData to load data into Lakehouse tables from files or folders. - Implemented Add-FabricWorkspaceCapacityAssignment to assign a workspace to a specified capacity. - Added Remove-FabricWorkspaceCapacityAssignment to unassign a workspace from its capacity. - Created unit tests for all new functions to ensure parameter validation and functionality. * change file and test name * remove file to match develop - missed commit * Refactor PowerShell functions to support ShouldProcess for safer execution fixes #12 - Updated multiple functions across various scripts to include [CmdletBinding(SupportsShouldProcess)] for better user confirmation before executing potentially destructive actions. - Enhanced error handling by restructuring try-catch blocks for improved readability and consistency. - Ensured that API requests are wrapped in ShouldProcess checks to prevent unintended changes. - Cleaned up code formatting and improved validation checks for input parameters. * Add WhatIf and Confirm parameters to various FabricTools update tests for Missing Pester Tests #7 - Updated expected parameters in the following test files to include "WhatIf" and "Confirm": - Update-FabricEventhouseDefinition.Tests.ps1 - Update-FabricEventstream.Tests.ps1 - Update-FabricEventstreamDefinition.Tests.ps1 - Update-FabricKQLDashboard.Tests.ps1 - Update-FabricKQLDashboardDefinition.Tests.ps1 - Update-FabricKQLDatabase.Tests.ps1 - Update-FabricKQLDatabaseDefinition.Tests.ps1 - Update-FabricKQLQueryset.Tests.ps1 - Update-FabricKQLQuerysetDefinition.Tests.ps1 - Update-FabricLakehouse.Tests.ps1 - Update-FabricMLExperiment.Tests.ps1 - Update-FabricMLModel.Tests.ps1 - Update-FabricMirroredDatabase.Tests.ps1 - Update-FabricMirroredDatabaseDefinition.Tests.ps1 - Update-FabricNotebook.Tests.ps1 - Update-FabricNotebookDefinition.Tests.ps1 - Update-FabricPaginatedReport.Tests.ps1 - Update-FabricReflex.Tests.ps1 - Update-FabricReflexDefinition.Tests.ps1 - Update-FabricReport.Tests.ps1 - Update-FabricReportDefinition.Tests.ps1 - Update-FabricSemanticModel.Tests.ps1 - Update-FabricSemanticModelDefinition.Tests.ps1 - Update-FabricSparkCustomPool.Tests.ps1 - Update-FabricSparkJobDefinition.Tests.ps1 - Update-FabricSparkJobDefinitionDefinition.Tests.ps1 - Update-FabricSparkSettings.Tests.ps1 - Update-FabricWarehouse.Tests.ps1 - Update-FabricWorkspace.Tests.ps1 - Update-FabricWorkspaceRoleAssignment.Tests.ps1 - Write-FabricLakehouseTableData.Tests.ps1 * Add Pester Help Tests for Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides This commit introduces unit tests for the Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides functions to ensure proper parameter validation and functionality. These tests will help maintain code quality and reliability as the project evolves. Thank you! * Update CodeCoverageThreshold for Pester Help Tests Adjust the CodeCoverageThreshold from 85 to 0.35 to better align with current testing requirements for Pester Help Tests. This change aims to improve the accuracy of code coverage metrics. Thank you! --------- Co-authored-by: Rob Sewell <mrrobsewell@outlook.com> * update issue template for new function * The requirement for PS7 has been abolished #4 * Added unit test & fixed validation for WorkspaceName in Get-FabricWorkspace cmdlet #28 * Apply suggestions from code review the `-` needs to be escaped within the regular expression (good test, that caught this issue!) Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> * Validation correction fixes #28 fixes #41 * Update CmdletBinding to include ConfirmImpact - closes ConfirmImpact of destructive functions should be high #46 This change enhances the safety of the following functions by setting the ConfirmImpact to 'High': - Remove-FabricDomainWorkspaceRoleAssignment - Remove-FabricEnvironment - Remove-FabricEventhouse - Remove-FabricEventstream - Revoke-FabricExternalDataShares - Remove-FabricItem - Remove-FabricMLModel - Remove-FabricReflex - Remove-FabricSQLDatabase - Remove-FabricSparkJobDefinition - Remove-FabricSparkCustomPool - Revoke-FabricCapacityTenantSettingOverrides - Remove-FabricWarehouse This ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * Fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 (#45) * fix for #39 * contenttype not used so post commands were failign * correct comment wording * update api call to fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * formatting & spelling * whitespace changes * lets have a copyJob when we ask for one not a warehouse * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * change confirmImpact to high so confirm works cc. @SQLDBAWithABeard * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for #39 * Removed leading slash from $apiEndpointURI #39 * Removed leading slash #39 --------- * Add ShouldProcess support for revoke functions Enhance the Revoke-FabricExternalDataShares and Revoke-FabricCapacityTenantSettingOverrides functions to include ShouldProcess support, allowing for confirmation prompts before executing the revoke actions. This improves safety and user control over destructive operations. Also, update the corresponding test files to include new parameters for Confirm and WhatIf, ensuring comprehensive testing for these changes. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> * Removed debug messages for token validation in various scripts (it already exists in Test-TokenExpired cmdlet) #18 * so that we can deploy preview versions to the powershell gallery * to see if we can deploy * so that we can deploy except when the files in root are changed * so that we can deploy except when the files in root are changed and use a valid deployment file. * so that the module manifest has the correct details * so that we build with the required az.accounts version * so that the other required modules are at the versions as well! * so that it will run the publish for the develop branch * so that we can deploy from the develop branch * because we no longer need verbose output here * because we dont need to publish wiki content * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount (#51) * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount Updated the ResourceUrl used to retrieve the authentication token in the Connect-FabricAccount function. This change ensures that the correct API endpoint is utilized for obtaining the Fabric token, improving the reliability of the connection process for Pester Help Tests. Thank you! * Fixed a bug in New-FabricEventhouse that ran Invoke-RestMethod twice. Removed the ShouldProcess Check, rather than the one outside the ShouldProcess This change simplifies the API request process. * Add ShouldProcess check for API request in New-FabricEventhouse This change introduces a ShouldProcess check before making the API request to create a new Eventhouse. This ensures that the operation is confirmed by the user, enhancing safety and control over the action. * Because YAML is hard and indentations hate me Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * fix capital letters to test automation (#53) * Replaced Invoke-PowerBIRestMethod & Invoke-RestMethod by Invoke-FabricRestMethod #44 * Update New-WorkspaceName Modified the validation pattern for the WorkspaceName parameter to allow additional special characters. This change enhances flexibility in naming workspaces while maintaining validation integrity. * Remove WorkspaceName validation pattern.This change simplifies the validation for the WorkspaceName parameter, allowing for greater flexibility in naming workspaces. * Update Changelog for New Features and Improvements Added new PowerShell functions for managing Fabric workspaces and enhanced unit tests for key functions. Updated the validation pattern for WorkspaceName to allow more flexibility and improved documentation across various functions. These changes aim to enhance usability and maintainability of the project. Thank you! * Update CONTRIBUTING.md to enhance changelog guidance Clarify the process for updating the CHANGELOG.md file before submitting changes. Encourage contributors to follow the Keep a Changelog format and provide examples for better organization of changes. This will help maintain clarity and consistency in tracking modifications to the module. Thank you! * Remove sampler branch from pull request workflow for Pester Help Tests This change eliminates the temporary 'sampler' branch from the pull request workflow configuration. This helps streamline the workflow and ensures that only relevant branches are monitored. Thank you! * Update Pull Request Template for Clarity and Consistency closes #52 Refine the PR template by adding examples for clarity and updating the task list for consistency. This ensures contributors have clear guidance on what is expected when submitting a pull request, enhancing the overall contribution process for Pester Help Tests. Thank you! * Remove duplicate Unreleased section from Changelog This change eliminates the redundant "Unreleased" section in the Changelog file to enhance clarity and maintain consistency. Thank you! * Add GitHub Actions workflow for module deployment This commit introduces a new GitHub Actions workflow to automate the deployment of the module to the PowerShell Gallery. It includes steps for packaging the module, publishing it, and creating a changelog pull request. This enhancement aims to streamline the release process and ensure consistency in deployments for Pester Help Tests. Thank you! * Add ReleaseBranch and MainGitBranch to workflow This change adds the ReleaseBranch and MainGitBranch environment variables to the deploy-preview-module workflow. This enhancement ensures that the correct branches are referenced during the deployment process for Pester Help Tests. Thank you! * Update module manifest author and generation date Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update module manifest author and generation date (#65) Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update comment for RequiredAssemblies section Clarify the purpose of the RequiredAssemblies section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Add permissions for GitHub Actions workflow This update adds necessary permissions for the GitHub Actions workflow to ensure it can perform actions like writing to contents, pull requests, and deployments. This change is essential for the proper functioning of the deployment process for Pester Help Tests. Thank you! * Today Rob will mainly be creating PRs for deployments so that Jess can approve them (#68) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * we wont tag (#69) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * we wont create change release branch (#70) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * updating pipelines (#72) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * pipeline update (#73) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * Update GitHub Actions workflows Refactor the deployment and PR workflows by removing redundant GitHubToken assignment and simplifying the build command. This enhances clarity and maintains functionality for Pester Help Tests. Thank you! * Add Service Principal parameters for authentication Enhanced the Connect-FabricAccount function by adding support for Service Principal authentication. This includes new parameters for ServicePrincipalId, ServicePrincipalSecret, and Credential, allowing for more flexible authentication options. Updated the unit tests to reflect these changes and ensure proper validation. Thank you! * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Removed all ValidationPattern from get-, new-, update- cmdlets of all items (#59) * Removed all ValidationPattern from get-, new-, update- cmdlets of all items * Removed all ValidationPattern from get-, new-, update- cmdlets of all items * remove validation test as we no longer validate --------- Co-authored-by: jpomfret <jpomfret7@gmail.com> * So that we have good practice and resolve PR comments Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Updating the examples Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Updating should process Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Because I didnt edit in vscode where the whitespace would be removed Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Remove-FabricWarehouse fix (#80) * fixes #78 * update changelog * don't need to capture response * Deploy/fix (#81) * Update PR template to clarify contribution guidelines This change modifies the pull request template to ensure that contributors are reminded to follow the contribution guidelines. This helps maintain consistency and quality in the contributions made to the project. Thank you! * Add Deploy Preview Module workflow for Pester Help Tests This commit introduces a new GitHub Actions workflow for deploying a preview version of the module when changes are pushed to the develop branch. This enhancement allows for better testing and validation of features before merging into the main branch. Thank you! * Fix: Renamed BaseURI to Uri for all calls of Invoke-FabricRestMethod #44 * Resolved 3 warnings from ScriptAnalyzer * Added unit test for Invoke-FabricRestMethod #44 * $Body parameter also should be used, right? * Removed `Invoke-FabricAPIRequest` and replaced it by `Invoke-FabricRestMethodExtended` * changelog * Removed FabricToken from global FabricSession variable and Token from AzureSession * Added Update-FabricToken function * Removed Set-FabricAuthToken and replaced it with Connect-FabricAccount * Get-FabricAuthToken returns token only * Renamed TenantIdGlobal to TenantId * - Removed `Confirm-FabricAuthToken` and extended existing `Test-TokenExpired` using `EnableTokenRefresh` Feature Flag - Removed `Set-FabricApiHeaders` and merged the entire logic to `Connect-FabricAccount` #44 * Fixed warnings from ScriptAnalyzer for Invoke-FabricRestMethodExtended * Fixed UnitTest for Connect-FabricAccount * Refactor Update-FabricToken to support ShouldProcess and add missing parameters for Pester tests * CodeCoverageThreshold = 0.30 for now * Avoid duplicated execution of Test-TokenExpired as it's executed on parent (functions) level * Update Az.Accounts module version to avoid errors Updated the 'Az.Accounts' module version from '4.2.0' to '5.0.0' in both RequiredModules.psd1 and FabricTools.psd1 to ensure compatibility with the latest features and improvements Thank you! * Clarify commit message instructions for Pester tests Updated the guidelines to specify that the subject line should include reasoning for changes related to Pester Help Tests. This enhances clarity and consistency in commit messages. Thank you! * Add "TestTokenExpired" to expected parameters This change includes "TestTokenExpired" in the list of expected parameters for the Invoke-FabricRestMethod tests. This ensures that the tests accurately reflect the parameters that the method should support. Thank you! * because 2019 on the runner is deprecated * Update CONTRIBUTING.md for clearer development guidelines Clarify the importance of starting a fresh PowerShell session for module development to avoid interference from previous sessions. Additionally, emphasize the need to verify dependencies and suggest running tests in a clean environment to catch potential issues. Thank you! * Body parameter - This can be a hashtable or a string. If a hashtable is provided, it will be converted to JSON format. * Added Credits * Fixed links to fabricps-pbip * Set CmdletBinding ConfirmImpact to 'High' for safety Updated the CmdletBinding attribute in multiple functions to set ConfirmImpact to 'High'. This change enhances the safety of operations by ensuring that users are prompted for confirmation before executing potentially destructive actions. Thank you! * adding Balabuch to the cSpell allowed words * Set CmdletBinding ConfirmImpact to 'High' for safety Updated CmdletBinding in multiple scripts to set ConfirmImpact to 'High' to enhance safety during operations. This change ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * spacing and white space changes * Remove unnecessary code (write-Message) * Update source/Public/Invoke-FabricRestMethod.ps1 Cosmetic changes Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Kamil Nowinski <kamil@nowinski.net> * Update source/FabricTools.psd1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Kamil Nowinski <kamil@nowinski.net> * use `$FabricConfig.BaseUrl` to avoid a hard-coded base URL. * Fixed comments * More elegant way to decode token to plain text needed for request's headers * Fixed auto-refresh token feature being used in Test-TokenExpired * Invoke-FabricRestMethod can execute PowerBI API when needed Fixed Get-FabricWorkspaceUsers function * Get-FabricDatasetRefreshes must use PowerBI API * Fixed test for Invoke-FabricRestMethod (new param) * Renamed Test-TokenExpired -> Confirm-TokenState and deleted Update-TokenExpired * So that we can pass the tag back to the develop branch (#92) This will ensure that the deployment of the preview releases is correctly tagged by GItVersion (I hope) Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * so that we have changelog building Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * I'm not sure the token has the perms Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * because the 21 tag is not on the develop branch Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * This should not run for main branch We do not need to push a preview release when we are about to make a main release. We may need to test but that is for later Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * So that the tag moves back for preview deployments (#94) * Release Me (#74) * Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refac…
* Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor Script Analyzer Test for Pester Help Tests Updated the Script Analyzer test to filter test cases based on exported commands. This change ensures that only relevant functions are analyzed, improving the accuracy of the tests. Thank you! * Refactor Add-FabricWorkspaceIdentity for Pester Help Tests Clean up whitespace and improve readability in the Add-FabricWorkspaceIdentity function. This enhances the code quality and maintains consistency for Pester Help Tests. Thank you! * used the dbatools formatter * extra space in help * Fix parameter naming in Get-FabricCopyJob function and update examples * Update CONTRIBUTING.md with proper code formatting * test pushing conflicted files * lets run some tests on PR * sample branches to test with * Updated the test command in the workflow to ensure proper execution by removing the unnecessary module import. This change helps avoid issues with loading dependencies during testing. * Remove temporary test branch from workflow for Pester Help Tests This change simplifies the workflow configuration by removing the unnecessary 'testBranch' entry. This helps maintain clarity and focus on the relevant branches for testing. Thank you! * fix for #25 add config variables to private function so executed on build * Fix formatting in Get-FabricDatamart example and add error logging message * Added an important box for important content. * Update CONTRIBUTING.md for clarity and structure Refine the development workflow instructions for better readability and understanding. Adjusted the numbering and formatting for consistency. This will help contributors follow the guidelines more easily for Pester Help Tests. * Update CONTRIBUTING.md for clarity and structure Refine the development and testing instructions for better understanding. Enhance the formatting of sections and emphasize important guidelines for contributors. Thank you! * Update Code of Conduct for clarity and inclusivity This update enhances the Code of Conduct to ensure a welcoming, respectful, and inclusive environment for all contributors. It outlines expected behaviors and the consequences of unacceptable actions. * Add standard tests for each function (#35) * tests for all * Add OutputType attributes for improved type safety This update introduces OutputType attributes to several functions, enhancing type safety and providing better integration with tools that rely on type information. This change will help users understand the expected output of these functions more clearly, which is beneficial for Pester Help Tests. Thank you! * Add SuppressMessageAttribute for Pester Help Tests This change adds a SuppressMessageAttribute to the Set-FabricAuthToken function. This adjustment is necessary to allow the current unit tests to pass without warnings related to the use of ConvertToSecureString with plain text. Thank you! * So that the naming of functions matches approved PowerShell Verbs fixes #14 - Added Remove-FabricDomainWorkspaceAssignment to unassign workspaces from a Fabric domain. - Introduced Remove-FabricDomainWorkspaceRoleAssignment for bulk unassigning roles from principals in a Fabric domain. - Created Import-FabricEnvironmentStagingLibrary to upload libraries to the staging environment in a Fabric workspace. - Developed Write-FabricLakehouseTableData to load data into Lakehouse tables from files or folders. - Implemented Add-FabricWorkspaceCapacityAssignment to assign a workspace to a specified capacity. - Added Remove-FabricWorkspaceCapacityAssignment to unassign a workspace from its capacity. - Created unit tests for all new functions to ensure parameter validation and functionality. * change file and test name * remove file to match develop - missed commit * Refactor PowerShell functions to support ShouldProcess for safer execution fixes #12 - Updated multiple functions across various scripts to include [CmdletBinding(SupportsShouldProcess)] for better user confirmation before executing potentially destructive actions. - Enhanced error handling by restructuring try-catch blocks for improved readability and consistency. - Ensured that API requests are wrapped in ShouldProcess checks to prevent unintended changes. - Cleaned up code formatting and improved validation checks for input parameters. * Add WhatIf and Confirm parameters to various FabricTools update tests for Missing Pester Tests #7 - Updated expected parameters in the following test files to include "WhatIf" and "Confirm": - Update-FabricEventhouseDefinition.Tests.ps1 - Update-FabricEventstream.Tests.ps1 - Update-FabricEventstreamDefinition.Tests.ps1 - Update-FabricKQLDashboard.Tests.ps1 - Update-FabricKQLDashboardDefinition.Tests.ps1 - Update-FabricKQLDatabase.Tests.ps1 - Update-FabricKQLDatabaseDefinition.Tests.ps1 - Update-FabricKQLQueryset.Tests.ps1 - Update-FabricKQLQuerysetDefinition.Tests.ps1 - Update-FabricLakehouse.Tests.ps1 - Update-FabricMLExperiment.Tests.ps1 - Update-FabricMLModel.Tests.ps1 - Update-FabricMirroredDatabase.Tests.ps1 - Update-FabricMirroredDatabaseDefinition.Tests.ps1 - Update-FabricNotebook.Tests.ps1 - Update-FabricNotebookDefinition.Tests.ps1 - Update-FabricPaginatedReport.Tests.ps1 - Update-FabricReflex.Tests.ps1 - Update-FabricReflexDefinition.Tests.ps1 - Update-FabricReport.Tests.ps1 - Update-FabricReportDefinition.Tests.ps1 - Update-FabricSemanticModel.Tests.ps1 - Update-FabricSemanticModelDefinition.Tests.ps1 - Update-FabricSparkCustomPool.Tests.ps1 - Update-FabricSparkJobDefinition.Tests.ps1 - Update-FabricSparkJobDefinitionDefinition.Tests.ps1 - Update-FabricSparkSettings.Tests.ps1 - Update-FabricWarehouse.Tests.ps1 - Update-FabricWorkspace.Tests.ps1 - Update-FabricWorkspaceRoleAssignment.Tests.ps1 - Write-FabricLakehouseTableData.Tests.ps1 * Add Pester Help Tests for Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides This commit introduces unit tests for the Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides functions to ensure proper parameter validation and functionality. These tests will help maintain code quality and reliability as the project evolves. Thank you! * Update CodeCoverageThreshold for Pester Help Tests Adjust the CodeCoverageThreshold from 85 to 0.35 to better align with current testing requirements for Pester Help Tests. This change aims to improve the accuracy of code coverage metrics. Thank you! --------- * update issue template for new function * The requirement for PS7 has been abolished #4 * Added unit test & fixed validation for WorkspaceName in Get-FabricWorkspace cmdlet #28 * Apply suggestions from code review the `-` needs to be escaped within the regular expression (good test, that caught this issue!) * Validation correction fixes #28 fixes #41 * Update CmdletBinding to include ConfirmImpact - closes ConfirmImpact of destructive functions should be high #46 This change enhances the safety of the following functions by setting the ConfirmImpact to 'High': - Remove-FabricDomainWorkspaceRoleAssignment - Remove-FabricEnvironment - Remove-FabricEventhouse - Remove-FabricEventstream - Revoke-FabricExternalDataShares - Remove-FabricItem - Remove-FabricMLModel - Remove-FabricReflex - Remove-FabricSQLDatabase - Remove-FabricSparkJobDefinition - Remove-FabricSparkCustomPool - Revoke-FabricCapacityTenantSettingOverrides - Remove-FabricWarehouse This ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * Fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 (#45) * fix for #39 * contenttype not used so post commands were failign * correct comment wording * update api call to fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * formatting & spelling * whitespace changes * lets have a copyJob when we ask for one not a warehouse * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * change confirmImpact to high so confirm works cc. @SQLDBAWithABeard * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for #39 * Removed leading slash from $apiEndpointURI #39 * Removed leading slash #39 --------- * Add ShouldProcess support for revoke functions Enhance the Revoke-FabricExternalDataShares and Revoke-FabricCapacityTenantSettingOverrides functions to include ShouldProcess support, allowing for confirmation prompts before executing the revoke actions. This improves safety and user control over destructive operations. Also, update the corresponding test files to include new parameters for Confirm and WhatIf, ensuring comprehensive testing for these changes. Thank you! --------- * Removed debug messages for token validation in various scripts (it already exists in Test-TokenExpired cmdlet) #18 * so that we can deploy preview versions to the powershell gallery * to see if we can deploy * so that we can deploy except when the files in root are changed * so that we can deploy except when the files in root are changed and use a valid deployment file. * so that the module manifest has the correct details * so that we build with the required az.accounts version * so that the other required modules are at the versions as well! * so that it will run the publish for the develop branch * so that we can deploy from the develop branch * because we no longer need verbose output here * because we dont need to publish wiki content * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount (#51) * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount Updated the ResourceUrl used to retrieve the authentication token in the Connect-FabricAccount function. This change ensures that the correct API endpoint is utilized for obtaining the Fabric token, improving the reliability of the connection process for Pester Help Tests. Thank you! * Fixed a bug in New-FabricEventhouse that ran Invoke-RestMethod twice. Removed the ShouldProcess Check, rather than the one outside the ShouldProcess This change simplifies the API request process. * Add ShouldProcess check for API request in New-FabricEventhouse This change introduces a ShouldProcess check before making the API request to create a new Eventhouse. This ensures that the operation is confirmed by the user, enhancing safety and control over the action. * Because YAML is hard and indentations hate me * fix capital letters to test automation (#53) * Replaced Invoke-PowerBIRestMethod & Invoke-RestMethod by Invoke-FabricRestMethod #44 * Update New-WorkspaceName Modified the validation pattern for the WorkspaceName parameter to allow additional special characters. This change enhances flexibility in naming workspaces while maintaining validation integrity. * Remove WorkspaceName validation pattern.This change simplifies the validation for the WorkspaceName parameter, allowing for greater flexibility in naming workspaces. * Update Changelog for New Features and Improvements Added new PowerShell functions for managing Fabric workspaces and enhanced unit tests for key functions. Updated the validation pattern for WorkspaceName to allow more flexibility and improved documentation across various functions. These changes aim to enhance usability and maintainability of the project. Thank you! * Update CONTRIBUTING.md to enhance changelog guidance Clarify the process for updating the CHANGELOG.md file before submitting changes. Encourage contributors to follow the Keep a Changelog format and provide examples for better organization of changes. This will help maintain clarity and consistency in tracking modifications to the module. Thank you! * Remove sampler branch from pull request workflow for Pester Help Tests This change eliminates the temporary 'sampler' branch from the pull request workflow configuration. This helps streamline the workflow and ensures that only relevant branches are monitored. Thank you! * Update Pull Request Template for Clarity and Consistency closes #52 Refine the PR template by adding examples for clarity and updating the task list for consistency. This ensures contributors have clear guidance on what is expected when submitting a pull request, enhancing the overall contribution process for Pester Help Tests. Thank you! * Remove duplicate Unreleased section from Changelog This change eliminates the redundant "Unreleased" section in the Changelog file to enhance clarity and maintain consistency. Thank you! * Add GitHub Actions workflow for module deployment This commit introduces a new GitHub Actions workflow to automate the deployment of the module to the PowerShell Gallery. It includes steps for packaging the module, publishing it, and creating a changelog pull request. This enhancement aims to streamline the release process and ensure consistency in deployments for Pester Help Tests. Thank you! * Add ReleaseBranch and MainGitBranch to workflow This change adds the ReleaseBranch and MainGitBranch environment variables to the deploy-preview-module workflow. This enhancement ensures that the correct branches are referenced during the deployment process for Pester Help Tests. Thank you! * Update module manifest author and generation date Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update module manifest author and generation date (#65) Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update comment for RequiredAssemblies section Clarify the purpose of the RequiredAssemblies section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Add permissions for GitHub Actions workflow This update adds necessary permissions for the GitHub Actions workflow to ensure it can perform actions like writing to contents, pull requests, and deployments. This change is essential for the proper functioning of the deployment process for Pester Help Tests. Thank you! * Today Rob will mainly be creating PRs for deployments so that Jess can approve them (#68) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * we wont tag (#69) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * we wont create change release branch (#70) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * updating pipelines (#72) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * pipeline update (#73) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * Update GitHub Actions workflows Refactor the deployment and PR workflows by removing redundant GitHubToken assignment and simplifying the build command. This enhances clarity and maintains functionality for Pester Help Tests. Thank you! * Add Service Principal parameters for authentication Enhanced the Connect-FabricAccount function by adding support for Service Principal authentication. This includes new parameters for ServicePrincipalId, ServicePrincipalSecret, and Credential, allowing for more flexible authentication options. Updated the unit tests to reflect these changes and ensure proper validation. Thank you! * Update Connect-FabricAccount.ps1 * Update Connect-FabricAccount.ps1 * Update Connect-FabricAccount.ps1 * Update Connect-FabricAccount.ps1 * Removed all ValidationPattern from get-, new-, update- cmdlets of all items (#59) * Removed all ValidationPattern from get-, new-, update- cmdlets of all items * Removed all ValidationPattern from get-, new-, update- cmdlets of all items * remove validation test as we no longer validate --------- * So that we have good practice and resolve PR comments * Updating the examples * Updating should process * Because I didnt edit in vscode where the whitespace would be removed * Remove-FabricWarehouse fix (#80) * fixes #78 * update changelog * don't need to capture response * Deploy/fix (#81) * Update PR template to clarify contribution guidelines This change modifies the pull request template to ensure that contributors are reminded to follow the contribution guidelines. This helps maintain consistency and quality in the contributions made to the project. Thank you! * Add Deploy Preview Module workflow for Pester Help Tests This commit introduces a new GitHub Actions workflow for deploying a preview version of the module when changes are pushed to the develop branch. This enhancement allows for better testing and validation of features before merging into the main branch. Thank you! * Fix: Renamed BaseURI to Uri for all calls of Invoke-FabricRestMethod #44 * Resolved 3 warnings from ScriptAnalyzer * Added unit test for Invoke-FabricRestMethod #44 * $Body parameter also should be used, right? * Removed `Invoke-FabricAPIRequest` and replaced it by `Invoke-FabricRestMethodExtended` * changelog * Removed FabricToken from global FabricSession variable and Token from AzureSession * Added Update-FabricToken function * Removed Set-FabricAuthToken and replaced it with Connect-FabricAccount * Get-FabricAuthToken returns token only * Renamed TenantIdGlobal to TenantId * - Removed `Confirm-FabricAuthToken` and extended existing `Test-TokenExpired` using `EnableTokenRefresh` Feature Flag - Removed `Set-FabricApiHeaders` and merged the entire logic to `Connect-FabricAccount` #44 * Fixed warnings from ScriptAnalyzer for Invoke-FabricRestMethodExtended * Fixed UnitTest for Connect-FabricAccount * Refactor Update-FabricToken to support ShouldProcess and add missing parameters for Pester tests * CodeCoverageThreshold = 0.30 for now * Avoid duplicated execution of Test-TokenExpired as it's executed on parent (functions) level * Update Az.Accounts module version to avoid errors Updated the 'Az.Accounts' module version from '4.2.0' to '5.0.0' in both RequiredModules.psd1 and FabricTools.psd1 to ensure compatibility with the latest features and improvements Thank you! * Clarify commit message instructions for Pester tests Updated the guidelines to specify that the subject line should include reasoning for changes related to Pester Help Tests. This enhances clarity and consistency in commit messages. Thank you! * Add "TestTokenExpired" to expected parameters This change includes "TestTokenExpired" in the list of expected parameters for the Invoke-FabricRestMethod tests. This ensures that the tests accurately reflect the parameters that the method should support. Thank you! * because 2019 on the runner is deprecated * Update CONTRIBUTING.md for clearer development guidelines Clarify the importance of starting a fresh PowerShell session for module development to avoid interference from previous sessions. Additionally, emphasize the need to verify dependencies and suggest running tests in a clean environment to catch potential issues. Thank you! * Body parameter - This can be a hashtable or a string. If a hashtable is provided, it will be converted to JSON format. * Added Credits * Fixed links to fabricps-pbip * Set CmdletBinding ConfirmImpact to 'High' for safety Updated the CmdletBinding attribute in multiple functions to set ConfirmImpact to 'High'. This change enhances the safety of operations by ensuring that users are prompted for confirmation before executing potentially destructive actions. Thank you! * adding Balabuch to the cSpell allowed words * Set CmdletBinding ConfirmImpact to 'High' for safety Updated CmdletBinding in multiple scripts to set ConfirmImpact to 'High' to enhance safety during operations. This change ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * spacing and white space changes * Remove unnecessary code (write-Message) * Update source/Public/Invoke-FabricRestMethod.ps1 Cosmetic changes * Update source/FabricTools.psd1 * use `$FabricConfig.BaseUrl` to avoid a hard-coded base URL. * Fixed comments * More elegant way to decode token to plain text needed for request's headers * Fixed auto-refresh token feature being used in Test-TokenExpired * Invoke-FabricRestMethod can execute PowerBI API when needed Fixed Get-FabricWorkspaceUsers function * Get-FabricDatasetRefreshes must use PowerBI API * Fixed test for Invoke-FabricRestMethod (new param) * Renamed Test-TokenExpired -> Confirm-TokenState and deleted Update-TokenExpired * So that we can pass the tag back to the develop branch (#92) This will ensure that the deployment of the preview releases is correctly tagged by GItVersion (I hope) * so that we have changelog building * I'm not sure the token has the perms * because the 21 tag is not on the develop branch * This should not run for main branch We do not need to push a preview release when we are about to make a main release. We may need to test but that is for later * So that the tag moves back for preview deployments (#94) * Release Me (#74) * Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refac… Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> Signed-off-by: Kamil Nowinski <kamil@nowinski.net> Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> Co-authored-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> Co-authored-by: Ioana Bouariu <ibouariu@yahoo.com>
* Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor Script Analyzer Test for Pester Help Tests Updated the Script Analyzer test to filter test cases based on exported commands. This change ensures that only relevant functions are analyzed, improving the accuracy of the tests. Thank you! * Refactor Add-FabricWorkspaceIdentity for Pester Help Tests Clean up whitespace and improve readability in the Add-FabricWorkspaceIdentity function. This enhances the code quality and maintains consistency for Pester Help Tests. Thank you! * used the dbatools formatter * extra space in help * Fix parameter naming in Get-FabricCopyJob function and update examples * Update CONTRIBUTING.md with proper code formatting Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * test pushing conflicted files * lets run some tests on PR * sample branches to test with * Updated the test command in the workflow to ensure proper execution by removing the unnecessary module import. This change helps avoid issues with loading dependencies during testing. * Remove temporary test branch from workflow for Pester Help Tests This change simplifies the workflow configuration by removing the unnecessary 'testBranch' entry. This helps maintain clarity and focus on the relevant branches for testing. Thank you! * fix for #25 add config variables to private function so executed on build * Fix formatting in Get-FabricDatamart example and add error logging message * Added an important box for important content. * Update CONTRIBUTING.md for clarity and structure Refine the development workflow instructions for better readability and understanding. Adjusted the numbering and formatting for consistency. This will help contributors follow the guidelines more easily for Pester Help Tests. * Update CONTRIBUTING.md for clarity and structure Refine the development and testing instructions for better understanding. Enhance the formatting of sections and emphasize important guidelines for contributors. Thank you! * Update Code of Conduct for clarity and inclusivity This update enhances the Code of Conduct to ensure a welcoming, respectful, and inclusive environment for all contributors. It outlines expected behaviors and the consequences of unacceptable actions. * Add standard tests for each function (#35) * tests for all * Add OutputType attributes for improved type safety This update introduces OutputType attributes to several functions, enhancing type safety and providing better integration with tools that rely on type information. This change will help users understand the expected output of these functions more clearly, which is beneficial for Pester Help Tests. Thank you! * Add SuppressMessageAttribute for Pester Help Tests This change adds a SuppressMessageAttribute to the Set-FabricAuthToken function. This adjustment is necessary to allow the current unit tests to pass without warnings related to the use of ConvertToSecureString with plain text. Thank you! * So that the naming of functions matches approved PowerShell Verbs fixes #14 - Added Remove-FabricDomainWorkspaceAssignment to unassign workspaces from a Fabric domain. - Introduced Remove-FabricDomainWorkspaceRoleAssignment for bulk unassigning roles from principals in a Fabric domain. - Created Import-FabricEnvironmentStagingLibrary to upload libraries to the staging environment in a Fabric workspace. - Developed Write-FabricLakehouseTableData to load data into Lakehouse tables from files or folders. - Implemented Add-FabricWorkspaceCapacityAssignment to assign a workspace to a specified capacity. - Added Remove-FabricWorkspaceCapacityAssignment to unassign a workspace from its capacity. - Created unit tests for all new functions to ensure parameter validation and functionality. * change file and test name * remove file to match develop - missed commit * Refactor PowerShell functions to support ShouldProcess for safer execution fixes #12 - Updated multiple functions across various scripts to include [CmdletBinding(SupportsShouldProcess)] for better user confirmation before executing potentially destructive actions. - Enhanced error handling by restructuring try-catch blocks for improved readability and consistency. - Ensured that API requests are wrapped in ShouldProcess checks to prevent unintended changes. - Cleaned up code formatting and improved validation checks for input parameters. * Add WhatIf and Confirm parameters to various FabricTools update tests for Missing Pester Tests #7 - Updated expected parameters in the following test files to include "WhatIf" and "Confirm": - Update-FabricEventhouseDefinition.Tests.ps1 - Update-FabricEventstream.Tests.ps1 - Update-FabricEventstreamDefinition.Tests.ps1 - Update-FabricKQLDashboard.Tests.ps1 - Update-FabricKQLDashboardDefinition.Tests.ps1 - Update-FabricKQLDatabase.Tests.ps1 - Update-FabricKQLDatabaseDefinition.Tests.ps1 - Update-FabricKQLQueryset.Tests.ps1 - Update-FabricKQLQuerysetDefinition.Tests.ps1 - Update-FabricLakehouse.Tests.ps1 - Update-FabricMLExperiment.Tests.ps1 - Update-FabricMLModel.Tests.ps1 - Update-FabricMirroredDatabase.Tests.ps1 - Update-FabricMirroredDatabaseDefinition.Tests.ps1 - Update-FabricNotebook.Tests.ps1 - Update-FabricNotebookDefinition.Tests.ps1 - Update-FabricPaginatedReport.Tests.ps1 - Update-FabricReflex.Tests.ps1 - Update-FabricReflexDefinition.Tests.ps1 - Update-FabricReport.Tests.ps1 - Update-FabricReportDefinition.Tests.ps1 - Update-FabricSemanticModel.Tests.ps1 - Update-FabricSemanticModelDefinition.Tests.ps1 - Update-FabricSparkCustomPool.Tests.ps1 - Update-FabricSparkJobDefinition.Tests.ps1 - Update-FabricSparkJobDefinitionDefinition.Tests.ps1 - Update-FabricSparkSettings.Tests.ps1 - Update-FabricWarehouse.Tests.ps1 - Update-FabricWorkspace.Tests.ps1 - Update-FabricWorkspaceRoleAssignment.Tests.ps1 - Write-FabricLakehouseTableData.Tests.ps1 * Add Pester Help Tests for Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides This commit introduces unit tests for the Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides functions to ensure proper parameter validation and functionality. These tests will help maintain code quality and reliability as the project evolves. Thank you! * Update CodeCoverageThreshold for Pester Help Tests Adjust the CodeCoverageThreshold from 85 to 0.35 to better align with current testing requirements for Pester Help Tests. This change aims to improve the accuracy of code coverage metrics. Thank you! --------- Co-authored-by: Rob Sewell <mrrobsewell@outlook.com> * update issue template for new function * The requirement for PS7 has been abolished #4 * Added unit test & fixed validation for WorkspaceName in Get-FabricWorkspace cmdlet #28 * Apply suggestions from code review the `-` needs to be escaped within the regular expression (good test, that caught this issue!) Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> * Validation correction fixes #28 fixes #41 * Update CmdletBinding to include ConfirmImpact - closes ConfirmImpact of destructive functions should be high #46 This change enhances the safety of the following functions by setting the ConfirmImpact to 'High': - Remove-FabricDomainWorkspaceRoleAssignment - Remove-FabricEnvironment - Remove-FabricEventhouse - Remove-FabricEventstream - Revoke-FabricExternalDataShares - Remove-FabricItem - Remove-FabricMLModel - Remove-FabricReflex - Remove-FabricSQLDatabase - Remove-FabricSparkJobDefinition - Remove-FabricSparkCustomPool - Revoke-FabricCapacityTenantSettingOverrides - Remove-FabricWarehouse This ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * Fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 (#45) * fix for #39 * contenttype not used so post commands were failign * correct comment wording * update api call to fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * formatting & spelling * whitespace changes * lets have a copyJob when we ask for one not a warehouse * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * change confirmImpact to high so confirm works cc. @SQLDBAWithABeard * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for #39 * Removed leading slash from $apiEndpointURI #39 * Removed leading slash #39 --------- * Add ShouldProcess support for revoke functions Enhance the Revoke-FabricExternalDataShares and Revoke-FabricCapacityTenantSettingOverrides functions to include ShouldProcess support, allowing for confirmation prompts before executing the revoke actions. This improves safety and user control over destructive operations. Also, update the corresponding test files to include new parameters for Confirm and WhatIf, ensuring comprehensive testing for these changes. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> * Removed debug messages for token validation in various scripts (it already exists in Test-TokenExpired cmdlet) #18 * so that we can deploy preview versions to the powershell gallery * to see if we can deploy * so that we can deploy except when the files in root are changed * so that we can deploy except when the files in root are changed and use a valid deployment file. * so that the module manifest has the correct details * so that we build with the required az.accounts version * so that the other required modules are at the versions as well! * so that it will run the publish for the develop branch * so that we can deploy from the develop branch * because we no longer need verbose output here * because we dont need to publish wiki content * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount (#51) * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount Updated the ResourceUrl used to retrieve the authentication token in the Connect-FabricAccount function. This change ensures that the correct API endpoint is utilized for obtaining the Fabric token, improving the reliability of the connection process for Pester Help Tests. Thank you! * Fixed a bug in New-FabricEventhouse that ran Invoke-RestMethod twice. Removed the ShouldProcess Check, rather than the one outside the ShouldProcess This change simplifies the API request process. * Add ShouldProcess check for API request in New-FabricEventhouse This change introduces a ShouldProcess check before making the API request to create a new Eventhouse. This ensures that the operation is confirmed by the user, enhancing safety and control over the action. * Because YAML is hard and indentations hate me Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * fix capital letters to test automation (#53) * Replaced Invoke-PowerBIRestMethod & Invoke-RestMethod by Invoke-FabricRestMethod #44 * Update New-WorkspaceName Modified the validation pattern for the WorkspaceName parameter to allow additional special characters. This change enhances flexibility in naming workspaces while maintaining validation integrity. * Remove WorkspaceName validation pattern.This change simplifies the validation for the WorkspaceName parameter, allowing for greater flexibility in naming workspaces. * Update Changelog for New Features and Improvements Added new PowerShell functions for managing Fabric workspaces and enhanced unit tests for key functions. Updated the validation pattern for WorkspaceName to allow more flexibility and improved documentation across various functions. These changes aim to enhance usability and maintainability of the project. Thank you! * Update CONTRIBUTING.md to enhance changelog guidance Clarify the process for updating the CHANGELOG.md file before submitting changes. Encourage contributors to follow the Keep a Changelog format and provide examples for better organization of changes. This will help maintain clarity and consistency in tracking modifications to the module. Thank you! * Remove sampler branch from pull request workflow for Pester Help Tests This change eliminates the temporary 'sampler' branch from the pull request workflow configuration. This helps streamline the workflow and ensures that only relevant branches are monitored. Thank you! * Update Pull Request Template for Clarity and Consistency closes #52 Refine the PR template by adding examples for clarity and updating the task list for consistency. This ensures contributors have clear guidance on what is expected when submitting a pull request, enhancing the overall contribution process for Pester Help Tests. Thank you! * Remove duplicate Unreleased section from Changelog This change eliminates the redundant "Unreleased" section in the Changelog file to enhance clarity and maintain consistency. Thank you! * Add GitHub Actions workflow for module deployment This commit introduces a new GitHub Actions workflow to automate the deployment of the module to the PowerShell Gallery. It includes steps for packaging the module, publishing it, and creating a changelog pull request. This enhancement aims to streamline the release process and ensure consistency in deployments for Pester Help Tests. Thank you! * Add ReleaseBranch and MainGitBranch to workflow This change adds the ReleaseBranch and MainGitBranch environment variables to the deploy-preview-module workflow. This enhancement ensures that the correct branches are referenced during the deployment process for Pester Help Tests. Thank you! * Update module manifest author and generation date Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update module manifest author and generation date (#65) Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update comment for RequiredAssemblies section Clarify the purpose of the RequiredAssemblies section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Add permissions for GitHub Actions workflow This update adds necessary permissions for the GitHub Actions workflow to ensure it can perform actions like writing to contents, pull requests, and deployments. This change is essential for the proper functioning of the deployment process for Pester Help Tests. Thank you! * Today Rob will mainly be creating PRs for deployments so that Jess can approve them (#68) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * we wont tag (#69) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * we wont create change release branch (#70) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * updating pipelines (#72) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * pipeline update (#73) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * Update GitHub Actions workflows Refactor the deployment and PR workflows by removing redundant GitHubToken assignment and simplifying the build command. This enhances clarity and maintains functionality for Pester Help Tests. Thank you! * Add Service Principal parameters for authentication Enhanced the Connect-FabricAccount function by adding support for Service Principal authentication. This includes new parameters for ServicePrincipalId, ServicePrincipalSecret, and Credential, allowing for more flexible authentication options. Updated the unit tests to reflect these changes and ensure proper validation. Thank you! * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Removed all ValidationPattern from get-, new-, update- cmdlets of all items (#59) * Removed all ValidationPattern from get-, new-, update- cmdlets of all items * Removed all ValidationPattern from get-, new-, update- cmdlets of all items * remove validation test as we no longer validate --------- Co-authored-by: jpomfret <jpomfret7@gmail.com> * So that we have good practice and resolve PR comments Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Updating the examples Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Updating should process Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Because I didnt edit in vscode where the whitespace would be removed Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Remove-FabricWarehouse fix (#80) * fixes #78 * update changelog * don't need to capture response * Deploy/fix (#81) * Update PR template to clarify contribution guidelines This change modifies the pull request template to ensure that contributors are reminded to follow the contribution guidelines. This helps maintain consistency and quality in the contributions made to the project. Thank you! * Add Deploy Preview Module workflow for Pester Help Tests This commit introduces a new GitHub Actions workflow for deploying a preview version of the module when changes are pushed to the develop branch. This enhancement allows for better testing and validation of features before merging into the main branch. Thank you! * Fix: Renamed BaseURI to Uri for all calls of Invoke-FabricRestMethod #44 * Resolved 3 warnings from ScriptAnalyzer * Added unit test for Invoke-FabricRestMethod #44 * $Body parameter also should be used, right? * Removed `Invoke-FabricAPIRequest` and replaced it by `Invoke-FabricRestMethodExtended` * changelog * Removed FabricToken from global FabricSession variable and Token from AzureSession * Added Update-FabricToken function * Removed Set-FabricAuthToken and replaced it with Connect-FabricAccount * Get-FabricAuthToken returns token only * Renamed TenantIdGlobal to TenantId * - Removed `Confirm-FabricAuthToken` and extended existing `Test-TokenExpired` using `EnableTokenRefresh` Feature Flag - Removed `Set-FabricApiHeaders` and merged the entire logic to `Connect-FabricAccount` #44 * Fixed warnings from ScriptAnalyzer for Invoke-FabricRestMethodExtended * Fixed UnitTest for Connect-FabricAccount * Refactor Update-FabricToken to support ShouldProcess and add missing parameters for Pester tests * CodeCoverageThreshold = 0.30 for now * Avoid duplicated execution of Test-TokenExpired as it's executed on parent (functions) level * Update Az.Accounts module version to avoid errors Updated the 'Az.Accounts' module version from '4.2.0' to '5.0.0' in both RequiredModules.psd1 and FabricTools.psd1 to ensure compatibility with the latest features and improvements Thank you! * Clarify commit message instructions for Pester tests Updated the guidelines to specify that the subject line should include reasoning for changes related to Pester Help Tests. This enhances clarity and consistency in commit messages. Thank you! * Add "TestTokenExpired" to expected parameters This change includes "TestTokenExpired" in the list of expected parameters for the Invoke-FabricRestMethod tests. This ensures that the tests accurately reflect the parameters that the method should support. Thank you! * because 2019 on the runner is deprecated * Update CONTRIBUTING.md for clearer development guidelines Clarify the importance of starting a fresh PowerShell session for module development to avoid interference from previous sessions. Additionally, emphasize the need to verify dependencies and suggest running tests in a clean environment to catch potential issues. Thank you! * Body parameter - This can be a hashtable or a string. If a hashtable is provided, it will be converted to JSON format. * Added Credits * Fixed links to fabricps-pbip * Set CmdletBinding ConfirmImpact to 'High' for safety Updated the CmdletBinding attribute in multiple functions to set ConfirmImpact to 'High'. This change enhances the safety of operations by ensuring that users are prompted for confirmation before executing potentially destructive actions. Thank you! * adding Balabuch to the cSpell allowed words * Set CmdletBinding ConfirmImpact to 'High' for safety Updated CmdletBinding in multiple scripts to set ConfirmImpact to 'High' to enhance safety during operations. This change ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * spacing and white space changes * Remove unnecessary code (write-Message) * Update source/Public/Invoke-FabricRestMethod.ps1 Cosmetic changes Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Kamil Nowinski <kamil@nowinski.net> * Update source/FabricTools.psd1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Kamil Nowinski <kamil@nowinski.net> * use `$FabricConfig.BaseUrl` to avoid a hard-coded base URL. * Fixed comments * More elegant way to decode token to plain text needed for request's headers * Fixed auto-refresh token feature being used in Test-TokenExpired * Invoke-FabricRestMethod can execute PowerBI API when needed Fixed Get-FabricWorkspaceUsers function * Get-FabricDatasetRefreshes must use PowerBI API * Fixed test for Invoke-FabricRestMethod (new param) * Renamed Test-TokenExpired -> Confirm-TokenState and deleted Update-TokenExpired * So that we can pass the tag back to the develop branch (#92) This will ensure that the deployment of the preview releases is correctly tagged by GItVersion (I hope) Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * so that we have changelog building Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * I'm not sure the token has the perms Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * because the 21 tag is not on the develop branch Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * This should not run for main branch We do not need to push a preview release when we are about to make a main release. We may need to test but that is for later Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * So that the tag moves back for preview deployments (#94) * Release Me (#74) * Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor …
* Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refactor Script Analyzer Test for Pester Help Tests Updated the Script Analyzer test to filter test cases based on exported commands. This change ensures that only relevant functions are analyzed, improving the accuracy of the tests. Thank you! * Refactor Add-FabricWorkspaceIdentity for Pester Help Tests Clean up whitespace and improve readability in the Add-FabricWorkspaceIdentity function. This enhances the code quality and maintains consistency for Pester Help Tests. Thank you! * used the dbatools formatter * extra space in help * Fix parameter naming in Get-FabricCopyJob function and update examples * Update CONTRIBUTING.md with proper code formatting Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * test pushing conflicted files * lets run some tests on PR * sample branches to test with * Updated the test command in the workflow to ensure proper execution by removing the unnecessary module import. This change helps avoid issues with loading dependencies during testing. * Remove temporary test branch from workflow for Pester Help Tests This change simplifies the workflow configuration by removing the unnecessary 'testBranch' entry. This helps maintain clarity and focus on the relevant branches for testing. Thank you! * fix for #25 add config variables to private function so executed on build * Fix formatting in Get-FabricDatamart example and add error logging message * Added an important box for important content. * Update CONTRIBUTING.md for clarity and structure Refine the development workflow instructions for better readability and understanding. Adjusted the numbering and formatting for consistency. This will help contributors follow the guidelines more easily for Pester Help Tests. * Update CONTRIBUTING.md for clarity and structure Refine the development and testing instructions for better understanding. Enhance the formatting of sections and emphasize important guidelines for contributors. Thank you! * Update Code of Conduct for clarity and inclusivity This update enhances the Code of Conduct to ensure a welcoming, respectful, and inclusive environment for all contributors. It outlines expected behaviors and the consequences of unacceptable actions. * Add standard tests for each function (#35) * tests for all * Add OutputType attributes for improved type safety This update introduces OutputType attributes to several functions, enhancing type safety and providing better integration with tools that rely on type information. This change will help users understand the expected output of these functions more clearly, which is beneficial for Pester Help Tests. Thank you! * Add SuppressMessageAttribute for Pester Help Tests This change adds a SuppressMessageAttribute to the Set-FabricAuthToken function. This adjustment is necessary to allow the current unit tests to pass without warnings related to the use of ConvertToSecureString with plain text. Thank you! * So that the naming of functions matches approved PowerShell Verbs fixes #14 - Added Remove-FabricDomainWorkspaceAssignment to unassign workspaces from a Fabric domain. - Introduced Remove-FabricDomainWorkspaceRoleAssignment for bulk unassigning roles from principals in a Fabric domain. - Created Import-FabricEnvironmentStagingLibrary to upload libraries to the staging environment in a Fabric workspace. - Developed Write-FabricLakehouseTableData to load data into Lakehouse tables from files or folders. - Implemented Add-FabricWorkspaceCapacityAssignment to assign a workspace to a specified capacity. - Added Remove-FabricWorkspaceCapacityAssignment to unassign a workspace from its capacity. - Created unit tests for all new functions to ensure parameter validation and functionality. * change file and test name * remove file to match develop - missed commit * Refactor PowerShell functions to support ShouldProcess for safer execution fixes #12 - Updated multiple functions across various scripts to include [CmdletBinding(SupportsShouldProcess)] for better user confirmation before executing potentially destructive actions. - Enhanced error handling by restructuring try-catch blocks for improved readability and consistency. - Ensured that API requests are wrapped in ShouldProcess checks to prevent unintended changes. - Cleaned up code formatting and improved validation checks for input parameters. * Add WhatIf and Confirm parameters to various FabricTools update tests for Missing Pester Tests #7 - Updated expected parameters in the following test files to include "WhatIf" and "Confirm": - Update-FabricEventhouseDefinition.Tests.ps1 - Update-FabricEventstream.Tests.ps1 - Update-FabricEventstreamDefinition.Tests.ps1 - Update-FabricKQLDashboard.Tests.ps1 - Update-FabricKQLDashboardDefinition.Tests.ps1 - Update-FabricKQLDatabase.Tests.ps1 - Update-FabricKQLDatabaseDefinition.Tests.ps1 - Update-FabricKQLQueryset.Tests.ps1 - Update-FabricKQLQuerysetDefinition.Tests.ps1 - Update-FabricLakehouse.Tests.ps1 - Update-FabricMLExperiment.Tests.ps1 - Update-FabricMLModel.Tests.ps1 - Update-FabricMirroredDatabase.Tests.ps1 - Update-FabricMirroredDatabaseDefinition.Tests.ps1 - Update-FabricNotebook.Tests.ps1 - Update-FabricNotebookDefinition.Tests.ps1 - Update-FabricPaginatedReport.Tests.ps1 - Update-FabricReflex.Tests.ps1 - Update-FabricReflexDefinition.Tests.ps1 - Update-FabricReport.Tests.ps1 - Update-FabricReportDefinition.Tests.ps1 - Update-FabricSemanticModel.Tests.ps1 - Update-FabricSemanticModelDefinition.Tests.ps1 - Update-FabricSparkCustomPool.Tests.ps1 - Update-FabricSparkJobDefinition.Tests.ps1 - Update-FabricSparkJobDefinitionDefinition.Tests.ps1 - Update-FabricSparkSettings.Tests.ps1 - Update-FabricWarehouse.Tests.ps1 - Update-FabricWorkspace.Tests.ps1 - Update-FabricWorkspaceRoleAssignment.Tests.ps1 - Write-FabricLakehouseTableData.Tests.ps1 * Add Pester Help Tests for Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides This commit introduces unit tests for the Get-FabricAPIclusterURI and Get-FabricCapacityTenantOverrides functions to ensure proper parameter validation and functionality. These tests will help maintain code quality and reliability as the project evolves. Thank you! * Update CodeCoverageThreshold for Pester Help Tests Adjust the CodeCoverageThreshold from 85 to 0.35 to better align with current testing requirements for Pester Help Tests. This change aims to improve the accuracy of code coverage metrics. Thank you! --------- Co-authored-by: Rob Sewell <mrrobsewell@outlook.com> * update issue template for new function * The requirement for PS7 has been abolished #4 * Added unit test & fixed validation for WorkspaceName in Get-FabricWorkspace cmdlet #28 * Apply suggestions from code review the `-` needs to be escaped within the regular expression (good test, that caught this issue!) Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> * Validation correction fixes #28 fixes #41 * Update CmdletBinding to include ConfirmImpact - closes ConfirmImpact of destructive functions should be high #46 This change enhances the safety of the following functions by setting the ConfirmImpact to 'High': - Remove-FabricDomainWorkspaceRoleAssignment - Remove-FabricEnvironment - Remove-FabricEventhouse - Remove-FabricEventstream - Revoke-FabricExternalDataShares - Remove-FabricItem - Remove-FabricMLModel - Remove-FabricReflex - Remove-FabricSQLDatabase - Remove-FabricSparkJobDefinition - Remove-FabricSparkCustomPool - Revoke-FabricCapacityTenantSettingOverrides - Remove-FabricWarehouse This ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * Fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 (#45) * fix for #39 * contenttype not used so post commands were failign * correct comment wording * update api call to fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * formatting & spelling * whitespace changes * lets have a copyJob when we ask for one not a warehouse * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * change confirmImpact to high so confirm works cc. @SQLDBAWithABeard * fix for New-FabricDataPipeline - issue with call to Invoke-FabricAPIRequest #39 * fix for #39 * Removed leading slash from $apiEndpointURI #39 * Removed leading slash #39 --------- * Add ShouldProcess support for revoke functions Enhance the Revoke-FabricExternalDataShares and Revoke-FabricCapacityTenantSettingOverrides functions to include ShouldProcess support, allowing for confirmation prompts before executing the revoke actions. This improves safety and user control over destructive operations. Also, update the corresponding test files to include new parameters for Confirm and WhatIf, ensuring comprehensive testing for these changes. Thank you! --------- Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> Signed-off-by: Jess Pomfret <jpomfret7@gmail.com> Co-authored-by: jpomfret <jpomfret7@gmail.com> Co-authored-by: Frank Geisler <frank_geisler@geislers.net> Co-authored-by: Kamil Nowinski <kamil@nowinski.net> * Removed debug messages for token validation in various scripts (it already exists in Test-TokenExpired cmdlet) #18 * so that we can deploy preview versions to the powershell gallery * to see if we can deploy * so that we can deploy except when the files in root are changed * so that we can deploy except when the files in root are changed and use a valid deployment file. * so that the module manifest has the correct details * so that we build with the required az.accounts version * so that the other required modules are at the versions as well! * so that it will run the publish for the develop branch * so that we can deploy from the develop branch * because we no longer need verbose output here * because we dont need to publish wiki content * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount (#51) * Fix ResourceUrl for Token Retrieval in Connect-FabricAccount Updated the ResourceUrl used to retrieve the authentication token in the Connect-FabricAccount function. This change ensures that the correct API endpoint is utilized for obtaining the Fabric token, improving the reliability of the connection process for Pester Help Tests. Thank you! * Fixed a bug in New-FabricEventhouse that ran Invoke-RestMethod twice. Removed the ShouldProcess Check, rather than the one outside the ShouldProcess This change simplifies the API request process. * Add ShouldProcess check for API request in New-FabricEventhouse This change introduces a ShouldProcess check before making the API request to create a new Eventhouse. This ensures that the operation is confirmed by the user, enhancing safety and control over the action. * Because YAML is hard and indentations hate me Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * fix capital letters to test automation (#53) * Replaced Invoke-PowerBIRestMethod & Invoke-RestMethod by Invoke-FabricRestMethod #44 * Update New-WorkspaceName Modified the validation pattern for the WorkspaceName parameter to allow additional special characters. This change enhances flexibility in naming workspaces while maintaining validation integrity. * Remove WorkspaceName validation pattern.This change simplifies the validation for the WorkspaceName parameter, allowing for greater flexibility in naming workspaces. * Update Changelog for New Features and Improvements Added new PowerShell functions for managing Fabric workspaces and enhanced unit tests for key functions. Updated the validation pattern for WorkspaceName to allow more flexibility and improved documentation across various functions. These changes aim to enhance usability and maintainability of the project. Thank you! * Update CONTRIBUTING.md to enhance changelog guidance Clarify the process for updating the CHANGELOG.md file before submitting changes. Encourage contributors to follow the Keep a Changelog format and provide examples for better organization of changes. This will help maintain clarity and consistency in tracking modifications to the module. Thank you! * Remove sampler branch from pull request workflow for Pester Help Tests This change eliminates the temporary 'sampler' branch from the pull request workflow configuration. This helps streamline the workflow and ensures that only relevant branches are monitored. Thank you! * Update Pull Request Template for Clarity and Consistency closes #52 Refine the PR template by adding examples for clarity and updating the task list for consistency. This ensures contributors have clear guidance on what is expected when submitting a pull request, enhancing the overall contribution process for Pester Help Tests. Thank you! * Remove duplicate Unreleased section from Changelog This change eliminates the redundant "Unreleased" section in the Changelog file to enhance clarity and maintain consistency. Thank you! * Add GitHub Actions workflow for module deployment This commit introduces a new GitHub Actions workflow to automate the deployment of the module to the PowerShell Gallery. It includes steps for packaging the module, publishing it, and creating a changelog pull request. This enhancement aims to streamline the release process and ensure consistency in deployments for Pester Help Tests. Thank you! * Add ReleaseBranch and MainGitBranch to workflow This change adds the ReleaseBranch and MainGitBranch environment variables to the deploy-preview-module workflow. This enhancement ensures that the correct branches are referenced during the deployment process for Pester Help Tests. Thank you! * Update module manifest author and generation date Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update module manifest author and generation date (#65) Changed the author name to 'The FabricTools Team' and updated the generation date to reflect the correct date. This ensures accurate attribution and documentation for the module. Thank you! * Update comment for RequiredAssemblies section Clarify the purpose of the RequiredAssemblies section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Add permissions for GitHub Actions workflow This update adds necessary permissions for the GitHub Actions workflow to ensure it can perform actions like writing to contents, pull requests, and deployments. This change is essential for the proper functioning of the deployment process for Pester Help Tests. Thank you! * Today Rob will mainly be creating PRs for deployments so that Jess can approve them (#68) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * we wont tag (#69) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * we wont create change release branch (#70) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * updating pipelines (#72) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * pipeline update (#73) * Remove permissions from deploy preview workflow for Pester Help Tests This change simplifies the workflow by removing unnecessary permissions that are not required for the deployment process. Additionally, it corrects the GitHub token secret reference to ensure proper access during the publish step. Thank you! * Update comment for ScriptsToProcess section Clarify the comment for the ScriptsToProcess section in the module manifest. This change enhances readability and understanding of the purpose of this section for future developers. Thank you! * Remove Create_Release_Git_Tag from publish workflow for Pester Help Tests This change simplifies the publish workflow by removing the Create_Release_Git_Tag step. This adjustment helps streamline the process and ensures that the workflow runs more efficiently. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future developers. Thank you! * Update comment for ScriptsToProcess section for Pester Help Tests Clarify the purpose of the ScriptsToProcess section in the module manifest. This change enhances readability and understanding for future contributors. Thank you! * Comment out Create_Changelog_Branch for Pester Help Tests This change comments out the Create_Changelog_Branch step in the build workflow. This adjustment is made to streamline the process and avoid unnecessary steps during the build for Pester Help Tests. Thank you! * Add permissions for workflows and update changelog step for Pester Help Tests This commit introduces additional permissions required for the workflows to function correctly, including the ability to create issues and statuses. It also updates the build configuration to ensure the changelog branch is created as part of the process. Thank you! * Update deploy condition to trigger on main branch for Pester Help Tests This change modifies the deployment condition to ensure that the workflow triggers on pushes to the main branch instead of the develop branch. This adjustment aligns the deployment process with the intended branch strategy for Pester Help Tests. Thank you! * Update GitHub Actions workflows Refactor the deployment and PR workflows by removing redundant GitHubToken assignment and simplifying the build command. This enhances clarity and maintains functionality for Pester Help Tests. Thank you! * Add Service Principal parameters for authentication Enhanced the Connect-FabricAccount function by adding support for Service Principal authentication. This includes new parameters for ServicePrincipalId, ServicePrincipalSecret, and Credential, allowing for more flexible authentication options. Updated the unit tests to reflect these changes and ensure proper validation. Thank you! * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Update Connect-FabricAccount.ps1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Ioana Bouariu <100302417+Jojobit@users.noreply.github.com> * Removed all ValidationPattern from get-, new-, update- cmdlets of all items (#59) * Removed all ValidationPattern from get-, new-, update- cmdlets of all items * Removed all ValidationPattern from get-, new-, update- cmdlets of all items * remove validation test as we no longer validate --------- Co-authored-by: jpomfret <jpomfret7@gmail.com> * So that we have good practice and resolve PR comments Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Updating the examples Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Updating should process Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Because I didnt edit in vscode where the whitespace would be removed Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * Remove-FabricWarehouse fix (#80) * fixes #78 * update changelog * don't need to capture response * Deploy/fix (#81) * Update PR template to clarify contribution guidelines This change modifies the pull request template to ensure that contributors are reminded to follow the contribution guidelines. This helps maintain consistency and quality in the contributions made to the project. Thank you! * Add Deploy Preview Module workflow for Pester Help Tests This commit introduces a new GitHub Actions workflow for deploying a preview version of the module when changes are pushed to the develop branch. This enhancement allows for better testing and validation of features before merging into the main branch. Thank you! * Fix: Renamed BaseURI to Uri for all calls of Invoke-FabricRestMethod #44 * Resolved 3 warnings from ScriptAnalyzer * Added unit test for Invoke-FabricRestMethod #44 * $Body parameter also should be used, right? * Removed `Invoke-FabricAPIRequest` and replaced it by `Invoke-FabricRestMethodExtended` * changelog * Removed FabricToken from global FabricSession variable and Token from AzureSession * Added Update-FabricToken function * Removed Set-FabricAuthToken and replaced it with Connect-FabricAccount * Get-FabricAuthToken returns token only * Renamed TenantIdGlobal to TenantId * - Removed `Confirm-FabricAuthToken` and extended existing `Test-TokenExpired` using `EnableTokenRefresh` Feature Flag - Removed `Set-FabricApiHeaders` and merged the entire logic to `Connect-FabricAccount` #44 * Fixed warnings from ScriptAnalyzer for Invoke-FabricRestMethodExtended * Fixed UnitTest for Connect-FabricAccount * Refactor Update-FabricToken to support ShouldProcess and add missing parameters for Pester tests * CodeCoverageThreshold = 0.30 for now * Avoid duplicated execution of Test-TokenExpired as it's executed on parent (functions) level * Update Az.Accounts module version to avoid errors Updated the 'Az.Accounts' module version from '4.2.0' to '5.0.0' in both RequiredModules.psd1 and FabricTools.psd1 to ensure compatibility with the latest features and improvements Thank you! * Clarify commit message instructions for Pester tests Updated the guidelines to specify that the subject line should include reasoning for changes related to Pester Help Tests. This enhances clarity and consistency in commit messages. Thank you! * Add "TestTokenExpired" to expected parameters This change includes "TestTokenExpired" in the list of expected parameters for the Invoke-FabricRestMethod tests. This ensures that the tests accurately reflect the parameters that the method should support. Thank you! * because 2019 on the runner is deprecated * Update CONTRIBUTING.md for clearer development guidelines Clarify the importance of starting a fresh PowerShell session for module development to avoid interference from previous sessions. Additionally, emphasize the need to verify dependencies and suggest running tests in a clean environment to catch potential issues. Thank you! * Body parameter - This can be a hashtable or a string. If a hashtable is provided, it will be converted to JSON format. * Added Credits * Fixed links to fabricps-pbip * Set CmdletBinding ConfirmImpact to 'High' for safety Updated the CmdletBinding attribute in multiple functions to set ConfirmImpact to 'High'. This change enhances the safety of operations by ensuring that users are prompted for confirmation before executing potentially destructive actions. Thank you! * adding Balabuch to the cSpell allowed words * Set CmdletBinding ConfirmImpact to 'High' for safety Updated CmdletBinding in multiple scripts to set ConfirmImpact to 'High' to enhance safety during operations. This change ensures that users are prompted for confirmation before executing potentially destructive actions. Thank you! * spacing and white space changes * Remove unnecessary code (write-Message) * Update source/Public/Invoke-FabricRestMethod.ps1 Cosmetic changes Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Kamil Nowinski <kamil@nowinski.net> * Update source/FabricTools.psd1 Co-authored-by: Jess Pomfret <jpomfret7@gmail.com> Signed-off-by: Kamil Nowinski <kamil@nowinski.net> * use `$FabricConfig.BaseUrl` to avoid a hard-coded base URL. * Fixed comments * More elegant way to decode token to plain text needed for request's headers * Fixed auto-refresh token feature being used in Test-TokenExpired * Invoke-FabricRestMethod can execute PowerBI API when needed Fixed Get-FabricWorkspaceUsers function * Get-FabricDatasetRefreshes must use PowerBI API * Fixed test for Invoke-FabricRestMethod (new param) * Renamed Test-TokenExpired -> Confirm-TokenState and deleted Update-TokenExpired * So that we can pass the tag back to the develop branch (#92) This will ensure that the deployment of the preview releases is correctly tagged by GItVersion (I hope) Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * so that we have changelog building Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * I'm not sure the token has the perms Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * because the 21 tag is not on the develop branch Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * This should not run for main branch We do not need to push a preview release when we are about to make a main release. We may need to test but that is for later Signed-off-by: Rob Sewell <mrrobsewell@outlook.com> * So that the tag moves back for preview deployments (#94) * Release Me (#74) * Huge PR for Sampler, Pester and some best practices * remove ready for sampler * adding sampler * Add commit message guidelines for contributors for github copilot This commit introduces a new markdown file that outlines best practices for writing commit messages. It aims to help contributors maintain consistency and clarity in their commit history. * Update README.md to enhance module documentation Expanded the README to provide a clearer overview of the FabricTools PowerShell module, including features, installation instructions, usage examples, and contribution guidelines. This aims to improve user understanding and facilitate contributions during the early development stage. * Enhance CONTRIBUTING.md with detailed guidelines Updated the contributing guidelines to provide clearer instructions for new contributors. Added sections on development workflow, building the module, and testing procedures to facilitate better collaboration and understanding of the project. * Update CONTRIBUTING.md to include GitHub Copilot usage Added instructions for using GitHub Copilot to generate commit messages, enhancing the contribution process. This aims to streamline the workflow for contributors and improve commit message quality. * Add PowerShell functions for managing Fabric workspaces - Implemented Add-FabricWorkspaceRoleAssignment to assign roles to users in a workspace. - Created Get-FabricWorkspace to retrieve all Fabric workspaces. - Developed Get-FabricWorkspace2 for enhanced workspace retrieval with multiple filtering options. - Added Get-FabricWorkspaceDatasetRefreshes to fetch refresh history of datasets in a workspace. - Introduced Get-FabricWorkspaceRoleAssignment to retrieve role assignments for a workspace. - Implemented Get-FabricWorkspaceUsageMetricsData to gather usage metrics for a workspace. - Created Get-FabricWorkspaceUsers to retrieve users associated with a workspace. - Developed New-FabricWorkspace to create a new Fabric workspace. - Added New-FabricWorkspace2 for creating workspaces with capacity and description. - Implemented New-FabricWorkspaceUsageMetricsReport to retrieve usage metrics dataset ID. - Created Register-FabricWorkspaceToCapacity to assign a workspace to a capacity. - Added Remove-FabricWorkspace to delete a workspace. - Implemented Unregister-FabricWorkspaceToCapacity to remove a workspace from a capacity. * Update CONTRIBUTING.md to clarify testing steps Revised the instructions for running Pester tests and building the module. This enhances clarity for contributors on how to execute tests and ensures they understand the importance of the build process before testing. * Add Contributor Covenant Code of Conduct Introduce a comprehensive Code of Conduct to foster an open and welcoming environment for all contributors. This document outlines our pledge, standards, responsibilities, and enforcement policies to ensure a positive community experience. * Add instructions for running specific test tags Updated the CONTRIBUTING.md to include information on running specific test tags such as FunctionalQuality, TestQuality, and HelpQuality. This enhancement aims to provide clearer guidance for contributors on how to execute targeted tests during the development process. * Update CONTRIBUTING.md to clarify installation steps for Microsoft.PowerShell.PSResourceGet module * Add PowerShell functions for managing Fabric recovery points and configurations * Update Assert version in RequiredModules.psd1 Set Assert module version to "0.9.6" for compatibility with the latest features and improvements. * Refactor Register-FabricWorkspaceToCapacity function Move function definition to the top and improve comments for clarity. This enhances readability and maintains consistency in the code structure. Thank you! * Add thank you note to commit message instructions Updated the commit message guidelines to include a friendly thank you note at the end. This change aims to foster a positive contribution culture. Thank you! * Update Documentation for Spark Custom Pool Parameters for Pester Help Tests This commit enhances the documentation for the Update-FabricSparkSettings function by adding descriptions for the optional parameters 'automaticLogEnabled' and 'notebookInteractiveRunEnabled'. This improvement aims to provide clearer guidance for users configuring Spark custom pools. Thank you! * Update Documentation for WorkspaceId Parameter for Pester Help Tests This commit adds a description for the WorkspaceId parameter in the Update-FabricNotebook function. This enhancement improves clarity for users and aids in understanding the function's requirements. Thank you! * Update Parameter Documentation for WorkspaceId for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter in the Update-FabricMirroredDatabase function. It clarifies that WorkspaceId is a mandatory field and provides context on its purpose within the function. Thank you! * Update Documentation for WorkspaceId Parameter for KQL Database, KQL Database Definition, KQL Queryset, and Lakehouse for Pester Help Tests This commit enhances the documentation by adding detailed descriptions for the WorkspaceId parameter across multiple scripts. This improvement aims to provide clearer guidance for users regarding the unique identifier of the workspace, ensuring better understanding and usability. Thank you! * Update commit message instructions for clarity Clarify the subject line requirements by adding that it should include "for Pester Help Tests" for better context. Thank you! * Add GitHub Copilot commit message instructions for Pester Help Tests This change introduces a new setting in the VSCode configuration to specify the file for GitHub Copilot's commit message generation instructions. This enhancement aims to improve the clarity and usability of commit messages for Pester Help Tests. Thank you! * Enhance Test-FabricApiResponse Documentation for Pester Help Tests Updated the function documentation to provide clear descriptions of parameters, examples, and notes. This improves usability and understanding for users working with the Fabric API response testing. Thank you! * Update WorkspaceId Parameter Documentation for Pester Help Tests This commit adds detailed documentation for the WorkspaceId parameter across multiple scripts, ensuring clarity on its purpose and usage. This enhancement will aid users in understanding how to effectively utilize the WorkspaceId in their operations. Thank you! * Refactor Set-FabricApiHeaders Function for Pester Help Tests Clean up the Set-FabricApiHeaders function by removing unnecessary blank lines and ensuring consistent formatting. This improves readability and maintainability of the code for Pester Help Tests. Thank you! * Refactor Revoke-FabricExternalDataShares Function for Pester Help Tests Updated the Revoke-FabricExternalDataShares function to improve parameter documentation and code formatting. This enhances clarity and maintainability for future development and testing efforts. Thank you! * Add missing function definition for Resume-FabricCapacity for Pester Help Tests This change ensures that the Resume-FabricCapacity function is properly defined in the script. It enhances the clarity and functionality of the code, making it easier to test and maintain. Thank you! * Remove unnecessary comments and add KQLDatabaseId parameter for Pester Help Tests This update cleans up the Remove-FabricKQLDatabase function by removing the version requirement comment and adding the KQLDatabaseId parameter documentation. This enhances clarity and ensures consistency in the function's usage for Pester Help Tests. Thank you! * Add ItemID parameter to Remove-FabricItem function for Pester Help Tests This change introduces the ItemID parameter to the Remove-FabricItem function, allowing users to specify a particular item to remove regardless of any filters applied. This enhancement improves the function's flexibility and usability in Pester Help Tests. Thank you! * Add blank line for improved readability in Remove-FabricKQLDatabase function for Pester Help Tests This change adds a blank line in the documentation section of the Remove-FabricKQLDatabase function. This improves readability and maintains consistency in the code formatting. Thank you! * Refactor Set-FabricApiHeaders function for Pester Help Tests Updated the synopsis and description for clarity, ensuring that the function's purpose and parameters are clearly defined. This enhances the documentation for better understanding and usability in Pester Help Tests. Thank you! * Refactor Remove-FabricEnvironmentStagingLibrary function for Pester Help Tests This update improves the formatting and readability of the Remove-FabricEnvironmentStagingLibrary function. It ensures consistent spacing and enhances the overall structure of the code, making it easier to maintain and understand. Additionally, the Remove-FabricEventstream function has been updated to include a new parameter for the Eventstream name, providing more flexibility in specifying which Eventstream to delete. Thank you! * Added from #17 * Merge Capacity functions from Tiagos code #17 * Update Private Function file to include a function so that there is no code that will run so that errors are not created and no envrionment is altered during import see #17 * Enhance KQL and Lakehouse Functions - Updated `Update-FabricKQLDatabase` and `Update-FabricKQLDatabaseDefinition` functions to support ShouldProcess for better confirmation handling. - Removed duplicate and obsolete `Get-FabricKQLQueryset copy.ps1` and `Remove-FabricKQLQueryset copy.ps1` scripts. - Refactored `Get-FabricKQLQueryset` to improve clarity and maintainability, ensuring proper error handling and response validation. - Updated `Remove-FabricKQLQueryset` to include ShouldProcess support and improved error logging. - Deleted `Set-FabricKQLQueryset.ps1` as it was no longer needed. - Removed obsolete `New-FabricLakehouse copy.ps1` and refactored `New-FabricLakehouse` to enhance functionality and error handling. - Improved documentation across all modified scripts for clarity and consistency. * Add PowerShell functions for managing Fabric tenant settings and workspaces - Implement Get-FabricTenantSetting to retrieve tenant settings from the Fabric environment. - Add Get-FabricWorkspaceTenantSettingOverrides to fetch tenant setting overrides for all workspaces. - Create Revoke-FabricCapacityTenantSettingOverrides to remove tenant setting overrides from specific capacities. - Develop Update-FabricCapacityTenantSettingOverrides for updating tenant setting overrides for specified capacities. - Introduce Update-FabricTenantSetting for updating tenant settings with various parameters. - Add Add-FabricWorkspaceIdentity to provision identities for Fabric workspaces. - Implement Assign-FabricWorkspaceCapacity to assign workspaces to specific capacities. - Create Remove-FabricWorkspaceIdentity to deprovision identities from workspaces. - Develop Remove-FabricWorkspaceRoleAssignment to delete role assignments from workspaces. - Introduce Unassign-FabricWorkspaceCapacity to unassign workspaces from their capacities. - Implement Update-FabricWorkspace for updating workspace properties. - Create Update-FabricWorkspaceRoleAssignment to update role assignments for principals in workspaces. * Refactor Base64 conversion functions for clarity #16 #20 Updated the Convert-FromBase64 and Convert-ToBase64 functions to improve code readability and maintainability. Removed unnecessary author notes and ensured consistent formatting. This will help in easier understanding and usage of the functions for Pester Help Tests. Thank you! * Refactor Get-FabricCopyJob function for clarity #16 #20 Improved the structure and readability of the Get-FabricCopyJob function by removing unnecessary lines and ensuring consistent formatting. This change enhances maintainability and prepares the code for future updates. Thank you! * Remove commented-out paths in build.yaml for clarity This change cleans up the build.yaml file by removing unnecessary commented-out paths. This helps improve readability and maintainability of the configuration file for Pester Help Tests. Thank you! * Add detailed documentation for PowerShell functions Incomplete Help #16 This commit enhances the documentation for various PowerShell functions in the Set-WellKnown.ps1 script. Each function now includes a synopsis, description, parameters, and examples to improve clarity and usability. This will help users understand the purpose and usage of the functions better, especially for Pester Help Tests. Thank you! * Rename function for consistency and clarity Updated the function name from Get-AllFabricDatasetRefreshes to Get-FabricDatasetRefreshes for better alignment with naming conventions. This change enhances readability and maintains consistency across the codebase. Thank you! * Remove Get-AllFabricCapacities function for clarity This commit removes the Get-AllFabricCapacities function from the codebase. The function was deemed unnecessary and its removal helps to streamline the code and improve maintainability. Thank you! * Add Get-FabricCapacities function for Pester Help Tests This commit introduces the Get-FabricCapacities function, which retrieves all resources of type "Microsoft.Fabric/capacities" from specified subscriptions or all subscriptions if no ID is provided. This enhancement improves the functionality and usability of the script for users needing to access capacity resources in Azure. Thank you! * Refactor Help Tests to Filter by Exported Commands for Pester Help Tests Updated the Help tests to ensure they only iterate over functions that are exported by the module. This change enhances the accuracy of the tests and ensures compliance with the module's exported command structure. Thank you! * Refactor Functions for Consistency and Clarity for Help #16 #17 Updated multiple functions to ensure consistent formatting and clarity in their definitions. This change enhances readability and maintainability of the codebase for Pester Help Tests. Thank you! * Refactor Functions for Consistency and Clarity for Pester Help Tests #16 #24 This commit refactors multiple functions to improve consistency and clarity across the codebase. Changes include renaming functions, updating documentation, and ensuring uniform formatting. These enhancements aim to make the code more maintainable and easier to understand for future development. Thank you! * Refactor Functions for Clarity and Consistency for Pester Help Tests Incomplete Help #16 #24 This commit refactors the Get-FabricWorkspaceDatasetRefreshes, Get-FabricWorkspaceUsageMetricsData, and Get-FabricWorkspaceUsers functions to improve clarity and consistency. The function definitions have been streamlined, and aliases have been maintained for flexibility. Thank you! * Enhance Documentation for Import-FabricItem Function for Pester Help Tests Incomplete Help #16 Updated the function documentation to provide a clearer description of the Import-FabricItem function, including its capabilities and how it handles the import of datasets and reports. This change aims to improve clarity for users and maintain consistency across the codebase. Thank you! * rename duplicate function This update refactors the Invoke-FabricAPIRequest function to improve clarity and consistency in the code. The changes include enhancing documentation, organizing parameters, and ensuring better readability. These improvements will facilitate easier testing and maintenance for Pester Help Tests. Thank you! * Enhance PowerShell scripts for Microsoft Fabric Incomplete Help #16 #24 - Added parameters for subscription ID and resource group name in Get-FabricCapacitySkus.ps1. - Renamed CopyJobName parameter to CopyJob in Get-FabricCopyJob.ps1 for clarity. - Updated Get-FabricDataPipeline.ps1 to include parameters for DataPipelineId and DataPipelineName. - Enhanced Get-FabricDatamart.ps1 with optional parameters for datamartId and datamartName. - Added EnvironmentId parameter to Get-FabricEnvironment.ps1 for specific environment retrieval. - Introduced Workspace parameter and itemID in Get-FabricItem.ps1 for improved item retrieval. - Added WorkspaceId parameter in Update-FabricKQLDashboard.ps1 for specifying the workspace. - Enhanced Get-FabricKQLDatabase.ps1 with optional KQLDatabaseId and KQLDatabaseName parameters. - Expanded New-FabricKQLDatabase.ps1 with additional parameters for KQL invitation token and source cluster URI. - Updated Get-FabricKQLQueryset.ps1 to include KQLQuerysetId for specific query set retrieval. - Enhanced Get-FabricLakehouse.ps1 with LakehouseId parameter for specific lakehouse retrieval. - Added MirroredDatabaseId parameter in Get-FabricMirroredDatabase.ps1 for specific mirrored database retrieval. - Introduced MirroredWarehouseId parameter in Get-FabricMirroredWarehouse.ps1 for specific mirrored warehouse retrieval. - Enhanced Get-FabricNotebook.ps1 with NotebookId parameter for specific notebook retrieval. - Added location parameter in Get-FabricLongRunningOperation.ps1 for operation status checking. - Expanded New-FabricWorkspace.ps1 with optional parameters for WorkspaceDescription and CapacityId. * Refact…
No description provided.