AL/Test-AppJsonFile.ps1
function Test-AppJsonFile { param ( # Source path of app code [Parameter(Mandatory=$false)] [string] $SourcePath = (Get-Location), # Do not throw an error [Parameter(Mandatory=$false)] [switch] $SuppressError ) $TestDependencyExists = $null -ne (Get-AppKeyValue $SourcePath 'test') foreach($testapp in (Get-EnvironmentKeyValue $SourcePath 'testapps')) { if($null -ne (Get-AppKeyValue $SourcePath 'dependencies' | Where-Object appId -eq $testapp.appId)){ $TestDependencyExists = $true break } } if (!$TestDependencyExists){ $TestDependencyExists = $null -ne (Get-AppKeyValue $SourcePath 'dependencies' | Where-Object { ($_.publisher -eq 'Microsoft') -and ($_.name -eq 'Tests-TestLibraries' -or $_.name -eq 'Library Assert')}) } if ($TestDependencyExists) { if ($SuppressError.IsPresent) { return $false } else { throw 'app.json contains test dependencies' } } return $true } |