From ee7770e1e96d3f360ff1004ef2cc9eede7724fc5 Mon Sep 17 00:00:00 2001 From: Wes Carroll Date: Wed, 5 Jun 2019 14:17:41 -0400 Subject: [PATCH] Create Get-ZAAlertAggregation Function and Tests --- Tests/Public/Get-ZAAlertAggregation.Tests.ps1 | 19 ++++++++++++++++++ .../Public/Get-ZAAlertAggregation.ps1 | 20 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 Tests/Public/Get-ZAAlertAggregation.Tests.ps1 create mode 100644 ZertoApiWrapper/Public/Get-ZAAlertAggregation.ps1 diff --git a/Tests/Public/Get-ZAAlertAggregation.Tests.ps1 b/Tests/Public/Get-ZAAlertAggregation.Tests.ps1 new file mode 100644 index 0000000..f5816b6 --- /dev/null +++ b/Tests/Public/Get-ZAAlertAggregation.Tests.ps1 @@ -0,0 +1,19 @@ +#Requires -Modules Pester +$moduleFileName = "ZertoApiWrapper.psd1" +$here = (Split-Path -Parent $MyInvocation.MyCommand.Path).Replace("Tests", "ZertoApiWrapper") +$sut = (Split-Path -Leaf $MyInvocation.MyCommand.Path).Replace(".Tests.", ".") +$file = Get-ChildItem "$here\$sut" +$modulePath = $here -replace "Public", "" +$moduleFile = Get-ChildItem "$modulePath\$moduleFileName" +Get-Module -Name ZertoApiWrapper | Remove-Module -Force +Import-Module $moduleFile -Force + +Describe $file.BaseName -Tag 'Unit' { + + It "is valid Powershell (Has no script errors)" { + $contents = Get-Content -Path $file -ErrorAction Stop + $errors = $null + $null = [System.Management.Automation.PSParser]::Tokenize($contents, [ref]$errors) + $errors | Should -HaveCount 0 + } +} diff --git a/ZertoApiWrapper/Public/Get-ZAAlertAggregation.ps1 b/ZertoApiWrapper/Public/Get-ZAAlertAggregation.ps1 new file mode 100644 index 0000000..7b82559 --- /dev/null +++ b/ZertoApiWrapper/Public/Get-ZAAlertAggregation.ps1 @@ -0,0 +1,20 @@ +<# .ExternalHelp ./en-us/ZertoApiWrapper-help.xml #> +function Get-ZAAlertAggeration { + [cmdletbinding()] + param( + [Parameter( + HelpMessage = "The ZORG identifier by which to filter the alert count. If the ZORG identifier is omitted, retrieves all alerts sorted by entity and by type." + )] + [ValidateNotNullOrEmpty()] + [string]$zOrgIdentifier + ) + $uri = "monitoring/alerts" + if ( -not [String]::IsNullorEmpty($zOrgIdentifier) ) { + $filterTable = @{"zOrgIdentifier" = $zOrgIdentifier } + $filterString = Get-ZertoApiFilter -filterTable $filterTable + $uri = "{0}{1}&format=aggregations" -f $uri, $filterString + } else { + $uri = "{0}?format=aggregations" -f $uri + } + Invoke-ZARestRequest -uri $uri +}