Skip to content

Commit 37b9221

Browse files
report Tool nodes with null or empty versions (#8154)
1 parent 5ff59ca commit 37b9221

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

helpers/software-report-base/SoftwareReport.Nodes.psm1

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@ class ToolVersionNode: BaseToolNode {
161161
[String] $Version
162162

163163
ToolVersionNode([String] $ToolName, [String] $Version): base($ToolName) {
164+
165+
if ([String]::IsNullOrEmpty($Version)) {
166+
throw "ToolVersionNode '$($this.ToolName)' has empty version"
167+
}
168+
164169
$this.Version = $Version
165170
}
166171

@@ -196,6 +201,11 @@ class ToolVersionsListNode: BaseToolNode {
196201

197202
ToolVersionsListNode([String] $ToolName, [String[]] $Versions, [String] $MajorVersionRegex, [String] $ListType): base($ToolName) {
198203
$this.Versions = $Versions
204+
205+
if ([String]::IsNullOrEmpty($Versions)) {
206+
throw "ToolVersionsListNode '$($this.ToolName)' has empty versions list"
207+
}
208+
199209
$this.MajorVersionRegex = [Regex]::new($MajorVersionRegex)
200210
$this.ListType = $ListType
201211
$this.ValidateMajorVersionRegex()

helpers/software-report-base/tests/SoftwareReport.Nodes.Unit.Tests.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Describe "Nodes.UnitTests" {
2626

2727
It "Deserialization" {
2828
{ [ToolVersionNode]::FromJsonObject(@{ NodeType = "ToolVersionNode"; ToolName = ""; Version = "2.1.3" }) } | Should -Throw '*Exception setting "ToolName": "The argument is null or empty.*'
29-
{ [ToolVersionNode]::FromJsonObject(@{ NodeType = "ToolVersionNode"; ToolName = "MyTool"; Version = "" }) } | Should -Throw '*Exception setting "Version": "The argument is null or empty.*'
29+
{ [ToolVersionNode]::FromJsonObject(@{ NodeType = "ToolVersionNode"; ToolName = "MyTool"; Version = "" }) } | Should -Throw 'ToolVersionNode ''MyTool'' has empty version'
3030
{ [ToolVersionNode]::FromJsonObject(@{ NodeType = "ToolVersionNode"; ToolName = "MyTool"; Version = "2.1.3" }) } | Should -Not -Throw
3131
}
3232

0 commit comments

Comments
 (0)