Changes for page Entwicklung eines ACMP Connectors für die ISS
Last modified by jklein on 2025/02/13 13:15
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -279,77 +279,6 @@ 279 279 280 280 === Testen der PowerShell-Module === 281 281 282 -Die Funktionalität des erstellten Moduls können Sie mithilfe von Pester (dem Standard-Framework für Unit-Testing in PowerShell) oder eines dedizierten PowerShell Scripts verifizieren. So stellen Sie sicher, dass die Logik fehlerfrei und robust ist. Das Modul //ISSRestConnector.psm1// können Sie mit Pester (5.5.0) beispielsweise folgendermaßen testen: 283 - 284 -1. Erstellen Sie eine neue Datei mit dem Namen //ISSRestConnectorTests.ps1//. 285 -1. Fügen Sie den nachfolgenden Code in die Datei ein. 286 -1. Drücken Sie Strg + S, um die Datei zu speichern. 287 -1. Führen Sie das Script 288 - 289 -{{code language="PowerShell" layout="LINENUMBERS" title="**ISSRestConnectorTest.ps1**"}} 290 -Import-Module -Name Pester -MinimumVersion 5.5.0 291 -Remove-Module ".\Modules\ISSRestConnector.psm1" -Force -ErrorAction SilentlyContinue 292 -Import-Module -Name ".\Modules\ISSRestConnector.psm1" -Force 293 - 294 -Describe "Get-ISSData Function Tests" { 295 - BeforeAll { 296 - # Mock the API response 297 - $global:MockApiResponse = @{ 298 - Name = "iss" 299 - Id = 25544 300 - Latitude = 12.34 301 - Longitude = 56.78 302 - Altitude = 408.5 303 - Velocity = 27600.0 304 - Visibility = "daylight" 305 - Timestamp = [datetime]::Now.ToUniversalTime().Subtract([datetime]::UnixEpoch).TotalSeconds 306 - } 307 - } 308 - 309 - Context "When the API responds successfully" { 310 - BeforeEach { 311 - # Mock the API call 312 - Mock -CommandName Invoke-RestMethod -ParameterFilter { $Method -eq 'GET' } -MockWith { 313 - return $global:MockApiResponse 314 - } -ModuleName "ISSRestConnector" 315 - } 316 - 317 - It "Should return a PSCustomObject with expected properties" { 318 - $result = Get-ISSData 319 - $result | Should -BeOfType PSCustomObject 320 - $result.Name | Should -Not -BeNullOrEmpty 321 - $result.Latitude | Should -Not -BeNullOrEmpty 322 - $result.Longitude | Should -Not -BeNullOrEmpty 323 - $result.Altitude | Should -Not -BeNullOrEmpty 324 - $result.Velocity | Should -Not -BeNullOrEmpty 325 - } 326 - 327 - It "Should correctly map the API response to the output object" { 328 - $result = Get-ISSData 329 - $result.Name | Should -Be "iss" 330 - $result.Latitude | Should -Be 12.34 331 - $result.Longitude | Should -Be 56.78 332 - $result.Altitude | Should -Be 408.5 333 - $result.Velocity | Should -Be 27600.0 334 - } 335 - } 336 - 337 - Context "When the API fails" { 338 - 339 - It "Should log an error when the API fails" { 340 - # Mock a failure in the API call 341 - Mock -CommandName Invoke-RestMethod -ParameterFilter { $Method -eq 'GET' } -MockWith { 342 - throw "API error" 343 - } -ModuleName "ISSRestConnector" 344 - 345 - $error.Clear() # Clear any pre-existing errors 346 - Get-ISSData 347 - $error[1].Exception.Message | Should -Contain "API error" 348 - } 349 - } 350 -} 351 -{{/code}} 352 - 353 353 === Erstellen der PowerShell-Microservices in AESB === 354 354 355 355 === Integrieren der PowerShell-Module in die PowerShell-Microservices ===