From 6bace63c62e4cfeb717b5153f26be521a5a2a01a Mon Sep 17 00:00:00 2001 From: DrIOS <58635327+DrIOSX@users.noreply.github.com> Date: Sun, 16 Jun 2024 13:11:43 -0500 Subject: [PATCH] docs: finalize error handling standard --- source/Private/Initialize-LargeTestTable.ps1 | 2 +- .../Public/Export-M365SecurityAuditTable.ps1 | 32 ++++++++++++------- .../Private/Get-PrivateFunction.tests.ps1 | 31 ------------------ 3 files changed, 21 insertions(+), 44 deletions(-) delete mode 100644 tests/Unit/Private/Get-PrivateFunction.tests.ps1 diff --git a/source/Private/Initialize-LargeTestTable.ps1 b/source/Private/Initialize-LargeTestTable.ps1 index e3d9d1d..f5e2d52 100644 --- a/source/Private/Initialize-LargeTestTable.ps1 +++ b/source/Private/Initialize-LargeTestTable.ps1 @@ -23,7 +23,7 @@ function Initialize-LargeTestTable { ) process { $header = "UserPrincipalName|AuditEnabled|AdminActionsMissing|DelegateActionsMissing|OwnerActionsMissing" - $lineTemplate = "user{0}@contosonorthwind.net|True|FB,CP,MV,MTDI|FB,MV|ML,MV,CR" + $lineTemplate = "user{0}@contosonorthwind.net|True|FB,CP,MV|FB,MV|ML,MV,CR" # Generate the header and lines $lines = @($header) for ($i = 1; $i -le $lineCount; $i++) { diff --git a/source/Public/Export-M365SecurityAuditTable.ps1 b/source/Public/Export-M365SecurityAuditTable.ps1 index e2beb1a..bc15887 100644 --- a/source/Public/Export-M365SecurityAuditTable.ps1 +++ b/source/Public/Export-M365SecurityAuditTable.ps1 @@ -105,26 +105,34 @@ function Export-M365SecurityAuditTable { $details = $auditResult.Details $csv = $details | ConvertFrom-Csv -Delimiter '|' - foreach ($row in $csv) { - $row.AdminActionsMissing = (Get-Action -AbbreviatedActions $row.AdminActionsMissing.Split(',') -ReverseActionType Admin | Where-Object { $_ -notin @("MailItemsAccessed", "Send") }) -join ',' - $row.DelegateActionsMissing = (Get-Action -AbbreviatedActions $row.DelegateActionsMissing.Split(',') -ReverseActionType Delegate | Where-Object { $_ -notin @("MailItemsAccessed") }) -join ',' - $row.OwnerActionsMissing = (Get-Action -AbbreviatedActions $row.OwnerActionsMissing.Split(',') -ReverseActionType Owner | Where-Object { $_ -notin @("MailItemsAccessed", "Send") }) -join ',' + if ($null -ne $csv) { + foreach ($row in $csv) { + $row.AdminActionsMissing = (Get-Action -AbbreviatedActions $row.AdminActionsMissing.Split(',') -ReverseActionType Admin | Where-Object { $_ -notin @("MailItemsAccessed", "Send") }) -join ',' + $row.DelegateActionsMissing = (Get-Action -AbbreviatedActions $row.DelegateActionsMissing.Split(',') -ReverseActionType Delegate | Where-Object { $_ -notin @("MailItemsAccessed") }) -join ',' + $row.OwnerActionsMissing = (Get-Action -AbbreviatedActions $row.OwnerActionsMissing.Split(',') -ReverseActionType Owner | Where-Object { $_ -notin @("MailItemsAccessed", "Send") }) -join ',' + } + $newObjectDetails = $csv + } + else { + $newObjectDetails = $details } - - $newObjectDetails = $csv $results += [PSCustomObject]@{ TestNumber = $test; Details = $newObjectDetails } } "6.1.3" { $details = $auditResult.Details $csv = $details | ConvertFrom-Csv -Delimiter '|' - foreach ($row in $csv) { - $row.AdminActionsMissing = (Get-Action -AbbreviatedActions $row.AdminActionsMissing.Split(',') -ReverseActionType Admin) -join ',' - $row.DelegateActionsMissing = (Get-Action -AbbreviatedActions $row.DelegateActionsMissing.Split(',') -ReverseActionType Delegate) -join ',' - $row.OwnerActionsMissing = (Get-Action -AbbreviatedActions $row.OwnerActionsMissing.Split(',') -ReverseActionType Owner) -join ',' + if ($null -ne $csv) { + foreach ($row in $csv) { + $row.AdminActionsMissing = (Get-Action -AbbreviatedActions $row.AdminActionsMissing.Split(',') -ReverseActionType Admin) -join ',' + $row.DelegateActionsMissing = (Get-Action -AbbreviatedActions $row.DelegateActionsMissing.Split(',') -ReverseActionType Delegate) -join ',' + $row.OwnerActionsMissing = (Get-Action -AbbreviatedActions $row.OwnerActionsMissing.Split(',') -ReverseActionType Owner) -join ',' + } + $newObjectDetails = $csv + } + else { + $newObjectDetails = $details } - - $newObjectDetails = $csv $results += [PSCustomObject]@{ TestNumber = $test; Details = $newObjectDetails } } Default { diff --git a/tests/Unit/Private/Get-PrivateFunction.tests.ps1 b/tests/Unit/Private/Get-PrivateFunction.tests.ps1 deleted file mode 100644 index 87bdf1b..0000000 --- a/tests/Unit/Private/Get-PrivateFunction.tests.ps1 +++ /dev/null @@ -1,31 +0,0 @@ -BeforeAll { - $script:dscModuleName = 'M365FoundationsCISReport' - - Import-Module -Name $script:dscModuleName -} - -AfterAll { - # Unload the module being tested so that it doesn't impact any other tests. - Get-Module -Name $script:dscModuleName -All | Remove-Module -Force -} - -Describe Get-PrivateFunction { - Context 'When calling the function with string value' { - It 'Should return a single object' { - InModuleScope -ModuleName $dscModuleName { - $return = Get-PrivateFunction -PrivateData 'string' - - ($return | Measure-Object).Count | Should -Be 1 - } - } - - It 'Should return a string based on the parameter PrivateData' { - InModuleScope -ModuleName $dscModuleName { - $return = Get-PrivateFunction -PrivateData 'string' - - $return | Should -Be 'string' - } - } - } -} -