@@ -62,7 +62,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
6262 $TestData = $script :TestData
6363 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
6464 param ($FilterFile , $TestData )
65- { Get-FilteredData - FilterPath $FilterFile - InputObject $TestData } | Should -Not - Throw
65+ [System.Object []]$TestDataArray = $TestData
66+ { Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray } | Should -Not - Throw
6667 }
6768 }
6869
@@ -71,7 +72,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
7172 $TestData = $script :TestData
7273 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
7374 param ($FilterFile , $TestData )
74- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
75+ [System.Object []]$TestDataArray = $TestData
76+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
7577 $Result | Should -Not - BeNullOrEmpty
7678 ($Result | Measure-Object ).Count | Should - Be 3
7779 }
@@ -82,7 +84,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
8284 $TestData = $script :TestData
8385 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
8486 param ($FilterFile , $TestData )
85- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
87+ [System.Object []]$TestDataArray = $TestData
88+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
8689 $Result | ForEach-Object { $_.Release | Should - Be " Enterprise" }
8790 }
8891 }
@@ -114,7 +117,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
114117 $TestData = $script :TestData
115118 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
116119 param ($FilterFile , $TestData )
117- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
120+ [System.Object []]$TestDataArray = $TestData
121+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
118122 $Result | Should -Not - BeNullOrEmpty
119123 ($Result | Measure-Object ).Count | Should - Be 1
120124 $Result.Release | Should - Be " Enterprise"
@@ -149,7 +153,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
149153 $TestData = $script :TestData
150154 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
151155 param ($FilterFile , $TestData )
152- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
156+ [System.Object []]$TestDataArray = $TestData
157+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
153158 $Result | Should -Not - BeNullOrEmpty
154159 ($Result | Measure-Object ).Count | Should - Be 4
155160 }
@@ -160,7 +165,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
160165 $TestData = $script :TestData
161166 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
162167 param ($FilterFile , $TestData )
163- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
168+ [System.Object []]$TestDataArray = $TestData
169+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
164170 $Result.Architecture | ForEach-Object { $_ | Should - BeIn @ (" x64" , " ARM64" ) }
165171 }
166172 }
@@ -187,7 +193,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
187193 $TestData = $script :TestData
188194 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
189195 param ($FilterFile , $TestData )
190- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
196+ [System.Object []]$TestDataArray = $TestData
197+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
191198 $Result | Should -Not - BeNullOrEmpty
192199 ($Result | Measure-Object ).Count | Should - Be 4
193200 $Result.Architecture | ForEach-Object { $_ | Should -Not - Be " x86" }
@@ -216,43 +223,15 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
216223 $TestData = $script :TestData
217224 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
218225 param ($FilterFile , $TestData )
219- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
226+ [System.Object []]$TestDataArray = $TestData
227+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
220228 $Result | Should -Not - BeNullOrEmpty
221229 ($Result | Measure-Object ).Count | Should - Be 3
222230 $Result.Release | ForEach-Object { $_ | Should - BeLike " *prise" }
223231 }
224232 }
225233 }
226234
227- Context " Validate Get-FilteredData with 'match' (regex) operator" {
228- BeforeAll {
229- $FilterFile = Join-Path - Path $script :TestPath - ChildPath " filter-match.json"
230- $FilterJson = @ {
231- filters = @ (
232- @ {
233- property = " Version"
234- operator = " match"
235- value = " ^2\."
236- }
237- )
238- logicalOperator = " and"
239- } | ConvertTo-Json - Depth 10
240- Set-Content - Path $FilterFile - Value $FilterJson - Force
241- }
242-
243- It " Should return items matching the regex pattern" {
244- $FilterFile = Join-Path - Path $script :TestPath - ChildPath " filter-match.json"
245- $TestData = $script :TestData
246- InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
247- param ($FilterFile , $TestData )
248- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
249- $Result | Should -Not - BeNullOrEmpty
250- ($Result | Measure-Object ).Count | Should - Be 2
251- $Result.Version | ForEach-Object { $_ | Should -Match " ^2\." }
252- }
253- }
254- }
255-
256235 Context " Validate Get-FilteredData with 'in' operator" {
257236 BeforeAll {
258237 $FilterFile = Join-Path - Path $script :TestPath - ChildPath " filter-in.json"
@@ -274,7 +253,9 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
274253 $TestData = $script :TestData
275254 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
276255 param ($FilterFile , $TestData )
277- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
256+ # Ensure TestData is treated as an array
257+ [System.Object []]$TestDataArray = $TestData
258+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
278259 $Result | Should -Not - BeNullOrEmpty
279260 ($Result | Measure-Object ).Count | Should - Be 4
280261 $Result.Architecture | ForEach-Object { $_ | Should - BeIn @ (" x64" , " ARM64" ) }
@@ -318,7 +299,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
318299 $TestData = $script :TestData
319300 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
320301 param ($FilterFile , $TestData )
321- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
302+ [System.Object []]$TestDataArray = $TestData
303+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
322304 $Result | Should -Not - BeNullOrEmpty
323305 ($Result | Measure-Object ).Count | Should - Be 2
324306 }
@@ -329,7 +311,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
329311 $TestData = $script :TestData
330312 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
331313 param ($FilterFile , $TestData )
332- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
314+ [System.Object []]$TestDataArray = $TestData
315+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
333316 $Result | Should -Not - BeNullOrEmpty
334317 ($Result | Measure-Object ).Count | Should - Be 3
335318 }
@@ -362,7 +345,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
362345 $TestData = $script :TestData
363346 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
364347 param ($FilterFile , $TestData )
365- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
348+ [System.Object []]$TestDataArray = $TestData
349+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
366350 $Result | Should -Not - BeNullOrEmpty
367351 ($Result | Measure-Object ).Count | Should - Be 1
368352 }
@@ -390,7 +374,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
390374 $TestData = $script :TestData
391375 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
392376 param ($FilterFile , $TestData )
393- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
377+ [System.Object []]$TestDataArray = $TestData
378+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
394379 $Result | Should - BeNullOrEmpty
395380 }
396381 }
@@ -401,23 +386,25 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
401386 $TestData = $script :TestData
402387 InModuleScope - ModuleName " Evergreen" - Parameters @ { TestData = $TestData } {
403388 param ($TestData )
404- { Get-FilteredData - FilterPath " " - InputObject $TestData } | Should - Throw
389+ [System.Object []]$TestDataArray = $TestData
390+ { Get-FilteredData - FilterPath " " - InputObject $TestDataArray } | Should - Throw
405391 }
406392 }
407393
408394 It " Should throw when FilterPath does not exist" {
409395 $TestData = $script :TestData
410396 InModuleScope - ModuleName " Evergreen" - Parameters @ { TestData = $TestData } {
411397 param ($TestData )
412- { Get-FilteredData - FilterPath " /nonexistent/filter.json" - InputObject $TestData - ErrorAction Stop } | Should - Throw
398+ [System.Object []]$TestDataArray = $TestData
399+ { Get-FilteredData - FilterPath " /nonexistent/filter.json" - InputObject $TestDataArray - ErrorAction Stop } | Should - Throw
413400 }
414401 }
415402
416403 It " Should throw when InputObject parameter is empty" {
417404 $FilterFile = Join-Path - Path $script :TestPath - ChildPath " filter-eq.json"
418405 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile } {
419406 param ($FilterFile )
420- { Get-FilteredData - FilterPath $FilterFile - InputObject @ () } | Should -Not - Throw
407+ { Get-FilteredData - FilterPath $FilterFile - InputObject @ () } | Should - Throw
421408 }
422409 }
423410 }
@@ -433,7 +420,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
433420 $TestData = $script :TestData
434421 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
435422 param ($FilterFile , $TestData )
436- { Get-FilteredData - FilterPath $FilterFile - InputObject $TestData - ErrorAction Stop } | Should - Throw
423+ [System.Object []]$TestDataArray = $TestData
424+ { Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray - ErrorAction Stop } | Should - Throw
437425 }
438426 }
439427 }
@@ -459,7 +447,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
459447 $TestData = $script :TestData
460448 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
461449 param ($FilterFile , $TestData )
462- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
450+ [System.Object []]$TestDataArray = $TestData
451+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
463452 $Result | Should - BeOfType [System.Object ]
464453 }
465454 }
@@ -469,7 +458,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
469458 $TestData = $script :TestData
470459 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
471460 param ($FilterFile , $TestData )
472- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
461+ [System.Object []]$TestDataArray = $TestData
462+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
473463 $Result [0 ].PSObject.Properties.Name | Should - Contain " Release"
474464 $Result [0 ].PSObject.Properties.Name | Should - Contain " Architecture"
475465 $Result [0 ].PSObject.Properties.Name | Should - Contain " Version"
@@ -499,7 +489,8 @@ Describe -Tag "Private" -Name "Get-FilteredData" {
499489 $TestData = $script :TestData
500490 InModuleScope - ModuleName " Evergreen" - Parameters @ { FilterFile = $FilterFile ; TestData = $TestData } {
501491 param ($FilterFile , $TestData )
502- $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestData
492+ [System.Object []]$TestDataArray = $TestData
493+ $Result = Get-FilteredData - FilterPath $FilterFile - InputObject $TestDataArray
503494 $Result | Should -Not - BeNullOrEmpty
504495 ($Result | Measure-Object ).Count | Should - Be 3
505496 $Result.Release | ForEach-Object { $_ | Should - Be " Enterprise" }
0 commit comments