@@ -24,6 +24,63 @@ const { Enums, Models, Types } = require('../../')
2424/**
2525 * @returns {Models.Bom }
2626 */
27+ module . exports . createAllTools = function ( ) {
28+ const bomSerialNumberRaw = '8fd9e244-73b6-4cd3-ab3a-a0fefdee5c9e'
29+ const bom = new Models . Bom ( {
30+ version : 7 ,
31+ serialNumber : `urn:uuid:${ bomSerialNumberRaw } ` ,
32+ } )
33+ bom . metadata . tools . components . add (
34+ new Models . Component (
35+ Enums . ComponentType . Application ,
36+ 'Component tool name' , {
37+ group : 'Component tool group' ,
38+ version : '0.8.15' ,
39+ hashes : new Models . HashDictionary ( [
40+ [ Enums . HashAlgorithm . MD5 , '974e5cc07da6e4536bffd935fd4ddc61' ] ,
41+ [ Enums . HashAlgorithm [ 'SHA-1' ] , '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed' ]
42+ ] )
43+ } ) )
44+ bom . metadata . tools . services . add (
45+ new Models . Service ( 'sbom-generator-service' , {
46+ group : 'Service tool group' ,
47+ version : '1' ,
48+ externalReferences : new Models . ExternalReferenceRepository ( [
49+ new Models . ExternalReference (
50+ 'https://example.com/sbom-generator-service/' ,
51+ Enums . ExternalReferenceType . Website ,
52+ { comment : 'the service that made this' }
53+ )
54+ ] )
55+ } )
56+ )
57+ bom . metadata . tools . tools . add (
58+ new Models . Tool ( {
59+ vendor : 'Tool tool vendor' ,
60+ name : 'Tool tool name' ,
61+ version : '0.8.15' ,
62+ hashes : new Models . HashDictionary ( [
63+ [ Enums . HashAlgorithm . MD5 , 'f32a26e2a3a8aa338cd77b6e1263c535' ] ,
64+ [ Enums . HashAlgorithm [ 'SHA-1' ] , '829c3804401b0727f70f73d4415e162400cbe57b' ]
65+ ] )
66+ } )
67+ )
68+ bom . metadata . tools . tools . add (
69+ new Models . Tool ( {
70+ vendor : 'Tool tool vendor' ,
71+ name : 'Tool other tool' ,
72+ version : '' , // empty string, not undefined
73+ externalReferences : new Models . ExternalReferenceRepository ( [
74+ new Models . ExternalReference (
75+ 'https://cyclonedx.org/tool-center/' ,
76+ Enums . ExternalReferenceType . Website ,
77+ { comment : 'the tools that made this' }
78+ )
79+ ] )
80+ } )
81+ )
82+ return bom
83+ }
2784module . exports . createComplexStructure = function ( ) {
2885 const bomSerialNumberRaw = 'ac35b126-ef3a-11ed-a05b-0242ac120003'
2986 const bom = new Models . Bom ( {
@@ -613,60 +670,3 @@ module.exports.createComplexStructure = function () {
613670/**
614671 * @returns {Models.Bom }
615672 */
616- module . exports . createAllTools = function ( ) {
617- const bomSerialNumberRaw = '8fd9e244-73b6-4cd3-ab3a-a0fefdee5c9e'
618- const bom = new Models . Bom ( {
619- version : 7 ,
620- serialNumber : `urn:uuid:${ bomSerialNumberRaw } ` ,
621- } )
622- bom . metadata . tools . components . add (
623- new Models . Component (
624- Enums . ComponentType . Application ,
625- 'Component tool name' , {
626- group : 'Component tool group' ,
627- version : '0.8.15' ,
628- hashes : new Models . HashDictionary ( [
629- [ Enums . HashAlgorithm . MD5 , '974e5cc07da6e4536bffd935fd4ddc61' ] ,
630- [ Enums . HashAlgorithm [ 'SHA-1' ] , '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed' ]
631- ] )
632- } ) )
633- bom . metadata . tools . services . add (
634- new Models . Service ( 'sbom-generator-service' , {
635- group : 'Service tool group' ,
636- version : '1' ,
637- externalReferences : new Models . ExternalReferenceRepository ( [
638- new Models . ExternalReference (
639- 'https://example.com/sbom-generator-service/' ,
640- Enums . ExternalReferenceType . Website ,
641- { comment : 'the service that made this' }
642- )
643- ] )
644- } )
645- )
646- bom . metadata . tools . tools . add (
647- new Models . Tool ( {
648- vendor : 'Tool tool vendor' ,
649- name : 'Tool tool name' ,
650- version : '0.8.15' ,
651- hashes : new Models . HashDictionary ( [
652- [ Enums . HashAlgorithm . MD5 , 'f32a26e2a3a8aa338cd77b6e1263c535' ] ,
653- [ Enums . HashAlgorithm [ 'SHA-1' ] , '829c3804401b0727f70f73d4415e162400cbe57b' ]
654- ] )
655- } )
656- )
657- bom . metadata . tools . tools . add (
658- new Models . Tool ( {
659- vendor : 'Tool tool vendor' ,
660- name : 'Tool other tool' ,
661- version : '' , // empty string, not undefined
662- externalReferences : new Models . ExternalReferenceRepository ( [
663- new Models . ExternalReference (
664- 'https://cyclonedx.org/tool-center/' ,
665- Enums . ExternalReferenceType . Website ,
666- { comment : 'the tools that made this' }
667- )
668- ] )
669- } )
670- )
671- return bom
672- }
0 commit comments