@@ -158,6 +158,14 @@ describe('validatePackageURL', () => {
158
158
purl :
'pkg:golang/[email protected] ' ,
159
159
} ,
160
160
] ,
161
+ [
162
+ 'golang package with subpath' ,
163
+ {
164
+ name : 'github.com/foo/bar/pkg/baz' ,
165
+ version : '1.2.3' ,
166
+ purl :
'pkg:golang/github.com/foo/[email protected] #pkg/baz' ,
167
+ } ,
168
+ ] ,
161
169
] ) ( 'validates golang Purls: %s' , ( name , pkg ) => {
162
170
expect ( ( ) => validatePackageURL ( pkg ) ) . not . toThrow ( ) ;
163
171
} ) ;
@@ -179,6 +187,14 @@ describe('validatePackageURL', () => {
179
187
purl :
'pkg:golang/google.golang.org/[email protected] ' ,
180
188
} ,
181
189
] ,
190
+ [
191
+ 'package name does not match purl subpath' ,
192
+ {
193
+ name : 'bar/baz' ,
194
+ version : '1.2.3' ,
195
+ purl :
'pkg:golang/[email protected] #pkg/baz' ,
196
+ } ,
197
+ ] ,
182
198
[
183
199
'package name does not include purl namespace' ,
184
200
{
@@ -187,6 +203,14 @@ describe('validatePackageURL', () => {
187
203
purl :
'pkg:golang/google.golang.org/[email protected] ' ,
188
204
} ,
189
205
] ,
206
+ [
207
+ 'package name does not include purl subpath' ,
208
+ {
209
+ name : 'bar' ,
210
+ version : '1.2.3' ,
211
+ purl :
'pkg:golang/[email protected] #pkg/baz' ,
212
+ } ,
213
+ ] ,
190
214
] ) ( 'should throw on invalid purl: %s' , ( name , pkg ) => {
191
215
expect ( ( ) => validatePackageURL ( pkg ) ) . toThrow ( ) ;
192
216
} ) ;
0 commit comments