From 2c8e8d3164aeee3bffe39ca0e95f3af727e45b52 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Tue, 7 Apr 2020 11:26:55 -0700 Subject: [PATCH 1/7] Remove jsondiffpach npm install --- asa.unittest/Public/New-AutProject.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asa.unittest/Public/New-AutProject.ps1 b/asa.unittest/Public/New-AutProject.ps1 index 6b768da..e1a0d99 100644 --- a/asa.unittest/Public/New-AutProject.ps1 +++ b/asa.unittest/Public/New-AutProject.ps1 @@ -40,7 +40,7 @@ Function New-AutProject{ if (-not (Test-Path "$installPath\3_assert")) {New-Item -ItemType Directory -Path "$installPath\3_assert" | Out-Null} # Install dependencies - Install-AutToolset -installPath "$installPath\2_act" -npmpackages jsondiffpatch -nugetpackages Microsoft.Azure.StreamAnalytics.CICD + Install-AutToolset -installPath "$installPath\2_act" -nugetpackages Microsoft.Azure.StreamAnalytics.CICD $gitIgnoreContent = ` " From aeb1c9c5ef1a65b6bf5ea5582140c77b10a9c29f Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Tue, 7 Apr 2020 11:27:12 -0700 Subject: [PATCH 2/7] Move verbose output to Get-AutRunResult --- asa.unittest/Public/Start-AutRun.ps1 | 7 ------- 1 file changed, 7 deletions(-) diff --git a/asa.unittest/Public/Start-AutRun.ps1 b/asa.unittest/Public/Start-AutRun.ps1 index f54b403..1360bab 100644 --- a/asa.unittest/Public/Start-AutRun.ps1 +++ b/asa.unittest/Public/Start-AutRun.ps1 @@ -138,13 +138,6 @@ Function Start-AutRun{ # Final result if ($errorCounter -gt 0) { Write-Verbose "Ending Test Run with $errorCounter errors" - ForEach ($testCase in $testCases) { - $result = Get-Content "$solutionPath\$unittestFolder\3_assert\$testID\$testCase\*.Result.txt" - if ($result.Trim()) { - Write-Verbose $testCase - Write-Verbose "$result" - } - } throw("Ending Test Run with $errorCounter errors") } From ac36ec6d8abf41decc990fa0746e325691ddb181 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Tue, 7 Apr 2020 11:27:45 -0700 Subject: [PATCH 3/7] Switch from jsondiffpatch to compare-object, add verbose output --- asa.unittest/private/Get-AutRunResult.ps1 | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/asa.unittest/private/Get-AutRunResult.ps1 b/asa.unittest/private/Get-AutRunResult.ps1 index f3a8980..d259986 100644 --- a/asa.unittest/private/Get-AutRunResult.ps1 +++ b/asa.unittest/private/Get-AutRunResult.ps1 @@ -67,6 +67,7 @@ Function Get-AutRunResult{ TestCase, @{Name = "rawContent"; Expression = {"$testPath\$($_.SourceName).json"}}, #sa.exe output @{Name = "testableFilePath"; Expression = {"$testPath\$($_.SourceName).testable.json"}}, #to be generated + @{Name = "sortedTestCaseOutputFilePath"; Expression = {"$testPath\$($_.Basename).sorted.json"}}, #to be generated @{Name = "testCaseOutputFile"; Expression = {"$testPath\$asaProjectName\Inputs\$($_.FullName)"}} | Foreach-Object -process { @@ -81,8 +82,7 @@ Function Get-AutRunResult{ $referenceSortedContent = $referenceContent | Sort-Object -Property $referenceContentProperties | ConvertTo-JSON - $sortedTestCaseOutputFile = "$($_.testCaseOutputFile).sorted.json" - Add-Content -Path $sortedTestCaseOutputFile -Value $referenceSortedContent + Add-Content -Path $_.sortedTestCaseOutputFilePath -Value $referenceSortedContent # Prepare output content (format, sorting) $testableContent = ("[$(Get-Content -Path $_.rawContent)]") | ConvertFrom-Json @@ -98,9 +98,16 @@ Function Get-AutRunResult{ Add-Content -Path $_.testableFilePath -Value $testableSortedContent # Actual testing - $testResult = Invoke-External -l "jsondiffpatch" $sortedTestCaseOutputFile $_.testableFilePath; - $testResult | Out-File "$testPath\$($_.SourceName).Result.txt" - if ($testResult) {$errorCounter++} + $left = Get-Content $_.sortedTestCaseOutputFilePath + $right = Get-Content $_.testableFilePath + $testResult = Compare-Object $left $right + + if ($testResult) { + $testResult | Out-File "$testPath\$($_.SourceName).Result.txt" + Write-Verbose ">> Errors on test $($_.TestCase)\$($_.SourceName):" + $testResult | Foreach-Object {Write-Verbose "$($_.SideIndicator) $($_.InputObject)"} + $errorCounter++ + } } $errorCounter From 49a673bbeefa3231bcf54b472b11586dd66a45bd Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Tue, 7 Apr 2020 11:29:26 -0700 Subject: [PATCH 4/7] Remove jsondiffpatch test --- asa.unittest.tests/New-AutProject.Tests.ps1 | 2 -- 1 file changed, 2 deletions(-) diff --git a/asa.unittest.tests/New-AutProject.Tests.ps1 b/asa.unittest.tests/New-AutProject.Tests.ps1 index d0c531c..94d1661 100644 --- a/asa.unittest.tests/New-AutProject.Tests.ps1 +++ b/asa.unittest.tests/New-AutProject.Tests.ps1 @@ -85,8 +85,6 @@ Describe "New-AutProject behavior dependencies" { New-AutProject -installPath $t_installPath | Assert-MockCalled Install-AutToolset -Times 1 -Exactly -Scope It -ParameterFilter { ($installPath -eq "$t_installPath\2_act") ` - -and ` - ($npmpackages -eq "jsondiffpatch") ` -and ` ($nugetpackages -eq "Microsoft.Azure.StreamAnalytics.CICD") } From 988d2172a64b750112c7f49fcda6a3c1b7425482 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Tue, 7 Apr 2020 11:37:30 -0700 Subject: [PATCH 5/7] Update test to new syntax --- asa.unittest.tests/Get-AutRunResult.Tests.ps1 | 41 ++++++++++++++----- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/asa.unittest.tests/Get-AutRunResult.Tests.ps1 b/asa.unittest.tests/Get-AutRunResult.Tests.ps1 index 957bb1f..b54e8d5 100644 --- a/asa.unittest.tests/Get-AutRunResult.Tests.ps1 +++ b/asa.unittest.tests/Get-AutRunResult.Tests.ps1 @@ -23,7 +23,7 @@ Describe "Get-AutRunResult Nominal" { Mock Get-AutFieldFromFileInfo {} Mock Get-Content {return (@{FilePath="foobar"} | ConvertTo-Json)} Mock Add-Content {} - Mock Invoke-External {} + Mock Compare-Object {} Mock Out-File {} It "tries to get a list of files" { @@ -50,7 +50,7 @@ Describe "Get-AutRunResult Nominal" { } Mock Get-ChildItem {return 1} - It "calls Get-AutFieldFromFileInfo if find files" { + It "calls Get-AutFieldFromFileInfo if it find files" { Get-AutRunResult ` -solutionPath $t_solutionPath ` -asaProjectName $t_asaProjectName ` @@ -75,8 +75,8 @@ Describe "Get-AutRunResult Nominal" { -testID $t_testID ` -testCase $t_testCase | Out-Null - Assert-MockCalled Get-Content -Times 8 -Exactly -Scope It #4 for ref, 4 for output - Assert-MockCalled Add-Content -Times 8 -Exactly -Scope It #4 for ref, 4 for output + Assert-MockCalled Get-Content -Times 16 -Exactly -Scope It #4 for ref, 4 for output times 2 + Assert-MockCalled Add-Content -Times 8 -Exactly -Scope It #4 for ref, 4 for output times 2 } Mock Get-AutFieldFromFileInfo {return @(` @@ -85,8 +85,8 @@ Describe "Get-AutRunResult Nominal" { @{Basename0="001";FilePath="foobar2";Basename1="Output";Basename2="fb12"},` @{Basename0="002";FilePath="foobar";Basename1="Output";Basename2="fb2"}` )} - Mock Invoke-External {return $null} - It "Tests and generates N result files for N output files" { + Mock Compare-Object {return $null} + It "Tests and generates 0 result files for N correct tests" { Get-AutRunResult ` -solutionPath $t_solutionPath ` -asaProjectName $t_asaProjectName ` @@ -94,7 +94,26 @@ Describe "Get-AutRunResult Nominal" { -testID $t_testID ` -testCase $t_testCase | Out-Null - Assert-MockCalled Invoke-External -Times 4 -Exactly -Scope It + Assert-MockCalled Compare-Object -Times 4 -Exactly -Scope It + Assert-MockCalled Out-File -Times 0 -Exactly -Scope It + } + + Mock Get-AutFieldFromFileInfo {return @(` + @{Basename0="003";FilePath="foobar";Basename1="Output";Basename2="fb3"},` + @{Basename0="001";FilePath="foobar1";Basename1="Output";Basename2="fb11"},` + @{Basename0="001";FilePath="foobar2";Basename1="Output";Basename2="fb12"},` + @{Basename0="002";FilePath="foobar";Basename1="Output";Basename2="fb2"}` + )} + Mock Compare-Object {return "ERROR"} + It "Tests and generates 4 result files for N correct tests" { + Get-AutRunResult ` + -solutionPath $t_solutionPath ` + -asaProjectName $t_asaProjectName ` + -unittestFolder $t_unittestFolder ` + -testID $t_testID ` + -testCase $t_testCase | Out-Null + + Assert-MockCalled Compare-Object -Times 4 -Exactly -Scope It Assert-MockCalled Out-File -Times 4 -Exactly -Scope It } @@ -105,7 +124,7 @@ Describe "Get-AutRunResult Nominal" { @{Basename0="001";FilePath="foobar3";Basename1="Output";Basename2="fb13"},` @{Basename0="002";FilePath="foobar";Basename1="Output";Basename2="fb2"}` )} - Mock Invoke-External {return "a"} + Mock Compare-Object {return "a"} It "returns N for N errors" { Get-AutRunResult ` -solutionPath $t_solutionPath ` @@ -132,7 +151,7 @@ Describe "Get-AutRunResult empty folders" { Mock Get-AutFieldFromFileInfo {} Mock Get-Content {} Mock Add-Content {} - Mock Invoke-External {} + Mock Compare-Object {} Mock Out-File {} It "provides 0 error in output pipeline on an empty folder" { @@ -173,7 +192,7 @@ Describe "Get-AutRunResult parameters" { Mock Get-AutFieldFromFileInfo {} Mock Get-Content {return (@{FilePath="foobar"} | ConvertTo-Json)} Mock Add-Content {} - Mock Invoke-External {} + Mock Compare-Object {} Mock Out-File {} It "runs with a valid set of parameters" { @@ -253,7 +272,7 @@ Describe "Get-AutRunResult paths" { Mock Get-AutFieldFromFileInfo {} Mock Get-Content {return (@{FilePath="foobar"} | ConvertTo-Json)} Mock Add-Content {} - Mock Invoke-External {} + Mock Compare-Object {} Mock Out-File {} Mock Test-Path {return $true} From c51f83577066148fc211e68ff987ee1659093be1 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Tue, 7 Apr 2020 11:38:28 -0700 Subject: [PATCH 6/7] Lint file --- asa.unittest/private/Get-AutRunResult.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/asa.unittest/private/Get-AutRunResult.ps1 b/asa.unittest/private/Get-AutRunResult.ps1 index d259986..8b8da5b 100644 --- a/asa.unittest/private/Get-AutRunResult.ps1 +++ b/asa.unittest/private/Get-AutRunResult.ps1 @@ -98,10 +98,10 @@ Function Get-AutRunResult{ Add-Content -Path $_.testableFilePath -Value $testableSortedContent # Actual testing - $left = Get-Content $_.sortedTestCaseOutputFilePath + $left = Get-Content $_.sortedTestCaseOutputFilePath $right = Get-Content $_.testableFilePath $testResult = Compare-Object $left $right - + if ($testResult) { $testResult | Out-File "$testPath\$($_.SourceName).Result.txt" Write-Verbose ">> Errors on test $($_.TestCase)\$($_.SourceName):" From 36f0762170e4c51c816787a3526442ffd80f9a75 Mon Sep 17 00:00:00 2001 From: Florian Eiden Date: Tue, 7 Apr 2020 11:39:25 -0700 Subject: [PATCH 7/7] Update manifest to 1.0.8 --- asa.unittest/asa.unittest.psd1 | Bin 8966 -> 8924 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/asa.unittest/asa.unittest.psd1 b/asa.unittest/asa.unittest.psd1 index 1798cd352fb66f56f249101f497036d85fd42da0..987408e229143a40fa9e24168ff302eeeb6eccb9 100644 GIT binary patch delta 71 zcmZp3yW_e+hl$Z*vo6y?S$%T`1qLf14q`}U$Ysc9C