From 04852dbc2c87c5685a6710554860c57efa3438f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Moreau?= Date: Tue, 15 Nov 2022 17:43:39 +0100 Subject: [PATCH] add tests --- .../integration/WebfilterUrlfilter.Tests.ps1 | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 Tests/integration/WebfilterUrlfilter.Tests.ps1 diff --git a/Tests/integration/WebfilterUrlfilter.Tests.ps1 b/Tests/integration/WebfilterUrlfilter.Tests.ps1 new file mode 100644 index 000000000..e3cbdd55a --- /dev/null +++ b/Tests/integration/WebfilterUrlfilter.Tests.ps1 @@ -0,0 +1,108 @@ +# +# Copyright 2022, Cédric Moreau +# +# SPDX-License-Identifier: Apache-2.0 +# + +#include common configuration +. ../common.ps1 + +BeforeAll { + Connect-FGT @invokeParams +} + +Describe "Get WebFilter UrlFilter" { + + BeforeAll { + $urlfilter = Add-FGTWebfilterUrlfilter -name $pester_url1 -url_id 1 -url_type simple -url powerfgt.com -action allow -status enable + $script:uuid = $urlfilter.id + Add-FGTWebfilterUrlfilter -name $pester_url2 -url_id 2 -url_type wildcard -url *powerfgt.com -action allow -status enable + } + + It "Get WebFilter UrlFilter Does not throw an error" { + { + Get-FGTWebfilterUrlfilter + } | Should -Not -Throw + } + + It "Get ALL URL Filter" { + $urlfilter = Get-FGTWebfilterUrlfilter + $urlfilter.count | Should -Not -Be $NULL + } + + It "Get ALL URL Filter with -skip" { + $urlfilter = Get-FGTWebfilterUrlfilter -skip + $urlfilter.count | Should -Not -Be $NULL + } + + It "Get URL Filter ($pester_url1)" { + $urlfilter = Get-FGTWebfilterUrlfilter -name $pester_url1 + $urlfilter.name | Should -Be $pester_url1 + } + + It "Get URL Filter ($pester_url1) and confirm (via Confirm-FGTWebfilterUrlfilter)" { + $urlfilter = Get-FGTWebfilterUrlfilter -name $pester_url1 + Confirm-FGTWebfilterUrlfilter ($urlfilter) | Should -Be $true + } + + Context "Search" { + + It "Search URL Filter by name ($pester_url1)" { + $urlfilter = Get-FGTWebfilterUrlfilter -name $pester_url1 + @($urlfilter).count | Should -be 1 + $urlfilter.name | Should -Be $pester_url1 + } + + It "Search URL Filter by uuid ($script:uuid)" { + $urlfilter = Get-FGTWebfilterUrlfilter -id $script:uuid + @($urlfilter).count | Should -be 1 + $urlfilter.name | Should -Be $pester_url1 + } + + } + + AfterAll { + Get-FGTWebfilterUrlfilter -name $pester_url1 | Remove-FGTWebfilterUrlfilter -confirm:$false + Get-FGTWebfilterUrlfilter -name $pester_url2 | Remove-FGTWebfilterUrlfilter -confirm:$false + } + +} + +Describe "Add WebFilter UrlFilter" { + + AfterEach { + Get-FGTWebfilterUrlfilter -name $pester_url1 | Remove-FGTWebfilterUrlfilter -confirm:$false + } + + It "Add URL Filter $pester_url1" { + Add-FGTWebfilterUrlfilter -name $pester_url1 -url_id 1 -url_type simple -url powerfgt.com -action allow -status enable + $urlfilter = Get-FGTWebfilterUrlfilter -name $pester_url1 + $urlfilter.name | Should -Be $pester_url1 + $urlfilter.comment | Should -BeNullOrEmpty + $urlfilter.entries.id | Should -Be 1 + $urlfilter.entries.url | Should -Be "powerfgt.com" + $urlfilter.entries.type | Should -Be "simple" + $urlfilter.entries.action | Should -Be "allow" + $urlfilter.entries.status | Should -Be "enable" + } + + It "Add URL Filter $pester_url1 (with comment)" { + Add-FGTWebfilterUrlfilter -name $pester_url1 -url_id 1 -url_type simple -url powerfgt.com -action allow -status enable -comment "Added by PowerFGT" + $urlfilter = Get-FGTWebfilterUrlfilter -name $pester_url1 + $urlfilter.name | Should -Be $pester_url1 + $urlfilter.comment | Should -Be "Added by PowerFGT" + $urlfilter.entries.id | Should -Be 1 + $urlfilter.entries.url | Should -Be "powerfgt.com" + $urlfilter.entries.type | Should -Be "simple" + $urlfilter.entries.action | Should -Be "allow" + $urlfilter.entries.status | Should -Be "enable" + } + + It "Try to Add URL Filter $pester_url1 (but there is already a object with same name)" { + #Add first URL Filter + Add-FGTWebfilterUrlfilter -name $pester_url1 -url_id 1 -url_type simple -url powerfgt.com -action allow -status enable + #Add Second URL Filter with same name + { Add-FGTWebfilterUrlfilter -name $pester_url1 -url_id 1 -url_type simple -url powerfgt.com -action allow -status enable } | Should -Throw "Already a URL profile object using the same name" + } + +} \ No newline at end of file