Streamline Tests and Builds
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
$moduleName = "ZertoApiWrapper"
|
$moduleName = "ZertoApiWrapper"
|
||||||
$moduleFileName = "ZertoApiWrapper.psm1"
|
$moduleFileName = "ZertoApiWrapper.psm1"
|
||||||
$filePath = (Split-Path -Parent $MyInvocation.MyCommand.Path) -replace 'Tests', 'ZertoApiWrapper'
|
$filePath = (Split-Path -Parent $MyInvocation.MyCommand.Path) -replace 'Tests', 'ZertoApiWrapper'
|
||||||
|
$docsPath = (Split-Path -Parent $MyInvocation.MyCommand.Path) -replace 'Tests/Public', 'docs'
|
||||||
$fileName = (Split-Path -Leaf $MyInvocation.MyCommand.Path ) -replace '.Tests.', '.'
|
$fileName = (Split-Path -Leaf $MyInvocation.MyCommand.Path ) -replace '.Tests.', '.'
|
||||||
$modulePath = $filePath -replace "Public", ""
|
$modulePath = $filePath -replace "Public", ""
|
||||||
$userName = "zerto\build"
|
$userName = "zerto\build"
|
||||||
@@ -18,20 +19,19 @@ Describe "File Tests" {
|
|||||||
Import-Module $modulePath\$moduleFileName
|
Import-Module $modulePath\$moduleFileName
|
||||||
$commands = Get-Command -Module $moduleName | Select-Object -ExpandProperty Name
|
$commands = Get-Command -Module $moduleName | Select-Object -ExpandProperty Name
|
||||||
foreach ($command in $commands) {
|
foreach ($command in $commands) {
|
||||||
|
$externalHelpFile = "{0}/{1}.md" -f $docsPath, $command
|
||||||
$path = "{0}/{1}.ps1" -f $filePath, $command
|
$path = "{0}/{1}.ps1" -f $filePath, $command
|
||||||
it "$command is backed by a file with the same name" {
|
context "$command File Tests" {
|
||||||
$path | should exist
|
it "$command is backed by a file with the same name" {
|
||||||
|
$path | should exist
|
||||||
|
}
|
||||||
|
it "$command has an external help file" {
|
||||||
|
$externalHelpFile | should exist
|
||||||
|
}
|
||||||
|
it "$command has the External Help File Defined" {
|
||||||
|
Get-Content -Path $path -First 1 | should be "<# .ExternalHelp ./en-us/ZertoApiWrapper-help.xml #>"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
describe "External Help Defination Present" {
|
|
||||||
$publicFiles = Get-ChildItem "$filePath" -File
|
|
||||||
foreach ($file in $publicFiles) {
|
|
||||||
it "External Help File is Defined" {
|
|
||||||
Get-Content -Path $file.fullName -First 1 | should be "<# .ExternalHelp ./en-us/ZertoApiWrapper-help.xml #>"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "Connection Tests"
|
|
||||||
@@ -21,3 +21,12 @@ task Analyze {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task FileTests {
|
||||||
|
Invoke-Pester "$BuildRoot\Tests\Public\ZertoApiWrapper.Tests.ps1"
|
||||||
|
}
|
||||||
|
|
||||||
|
task BuildPsd1 {
|
||||||
|
$functionsToExportPath = "{0}\ZertoApiWrapper\Public\" -f $MyInvocation.MyCommand.PSPath
|
||||||
|
$functionsToExport = (Get-ChildItem -Path $functionsToExportPath -File).name.Replace('.ps1', '')
|
||||||
|
$functionsToExport
|
||||||
|
}
|
||||||
|
|||||||
@@ -69,16 +69,16 @@
|
|||||||
# NestedModules = @()
|
# NestedModules = @()
|
||||||
|
|
||||||
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
|
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
|
||||||
FunctionsToExport = '*'
|
FunctionsToExport = 'Add-ZertoPeerSite', 'Checkpoint-ZertoVpg', 'Connect-ZertoServer', 'Disconnect-ZertoServer', 'Edit-ZertoVra', 'Export-ZertoVpg', 'Get-ZertoAlert', 'Get-ZertoDatastore', 'Get-ZertoEvent', 'Get-ZertoLicense', 'Get-ZertoLocalSite', 'Get-ZertoPeerSite', 'Get-ZertoProtectedVm', 'Get-ZertoRecoveryReport', 'Get-ZertoResourcesReport', 'Get-ZertoServiceProfile', 'Get-ZertoTask', 'Get-ZertoUnprotectedVm', 'Get-ZertoVirtualizationSite', 'Get-ZertoVolume', 'Get-ZertoVpg', 'Get-ZertoVpgSetting', 'Get-ZertoVra', 'Get-ZertoZorg', 'Get-ZertoZsspSession', 'Import-ZertoVpg', 'Install-ZertoVra', 'Invoke-ZertoFailover', 'Invoke-ZertoFailoverCommit', 'Invoke-ZertoFailoverRollback', 'Invoke-ZertoForceSync', 'Invoke-ZertoMove', 'Invoke-ZertoMoveCommit', 'Invoke-ZertoMoveRollback', 'New-ZertoVpg', 'New-ZertoVpgSettingsIdentifier', 'Remove-ZertoPeerSite', 'Remove-ZertoVpg', 'Resume-ZertoVpg', 'Save-ZertoVpgSettings', 'Set-ZertoAlert', 'Set-ZertoLicense', 'Start-ZertoCloneVpg', 'Start-ZertoFailoverTest', 'Stop-ZertoCloneVpg', 'Stop-ZertoFailoverTest', 'Suspend-ZertoVpg', 'Uninstall-ZertoVra'
|
||||||
|
|
||||||
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
|
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
|
||||||
CmdletsToExport = '*'
|
CmdletsToExport = @()
|
||||||
|
|
||||||
# Variables to export from this module
|
# Variables to export from this module
|
||||||
VariablesToExport = '*'
|
VariablesToExport = @()
|
||||||
|
|
||||||
# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
|
# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
|
||||||
AliasesToExport = '*'
|
AliasesToExport = @()
|
||||||
|
|
||||||
# DSC resources to export from this module
|
# DSC resources to export from this module
|
||||||
# DscResourcesToExport = @()
|
# DscResourcesToExport = @()
|
||||||
|
|||||||
Reference in New Issue
Block a user