sbom-cyclonedx 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +15 -0
  3. data/.gitlab-ci.yml +49 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +72 -0
  6. data/.vscode/settings.json +6 -0
  7. data/CHANGELOG.md +9 -0
  8. data/CODE_OF_CONDUCT.md +132 -0
  9. data/Gemfile +26 -0
  10. data/Gemfile.lock +179 -0
  11. data/LICENSE.txt +21 -0
  12. data/README.md +39 -0
  13. data/Rakefile +36 -0
  14. data/Steepfile +14 -0
  15. data/bin/console +11 -0
  16. data/bin/rbs_spec +9 -0
  17. data/bin/setup +8 -0
  18. data/bom-1.6.schema.json +7334 -0
  19. data/lib/email_address_extension.rb +26 -0
  20. data/lib/sbom/cyclone_dx/enum.rb +2178 -0
  21. data/lib/sbom/cyclone_dx/field.rb +404 -0
  22. data/lib/sbom/cyclone_dx/pattern.rb +43 -0
  23. data/lib/sbom/cyclone_dx/record/advisory.rb +17 -0
  24. data/lib/sbom/cyclone_dx/record/annotation.rb +46 -0
  25. data/lib/sbom/cyclone_dx/record/attachment.rb +21 -0
  26. data/lib/sbom/cyclone_dx/record/base.rb +244 -0
  27. data/lib/sbom/cyclone_dx/record/cipher_suite.rb +23 -0
  28. data/lib/sbom/cyclone_dx/record/co2_measure.rb +18 -0
  29. data/lib/sbom/cyclone_dx/record/command.rb +18 -0
  30. data/lib/sbom/cyclone_dx/record/commit.rb +25 -0
  31. data/lib/sbom/cyclone_dx/record/component.rb +126 -0
  32. data/lib/sbom/cyclone_dx/record/component_data.rb +46 -0
  33. data/lib/sbom/cyclone_dx/record/component_evidence.rb +68 -0
  34. data/lib/sbom/cyclone_dx/record/component_identity_evidence.rb +36 -0
  35. data/lib/sbom/cyclone_dx/record/composition.rb +33 -0
  36. data/lib/sbom/cyclone_dx/record/condition.rb +20 -0
  37. data/lib/sbom/cyclone_dx/record/copyright.rb +16 -0
  38. data/lib/sbom/cyclone_dx/record/crypto_properties.rb +137 -0
  39. data/lib/sbom/cyclone_dx/record/data_governance.rb +21 -0
  40. data/lib/sbom/cyclone_dx/record/data_governance_responsible_party.rb +22 -0
  41. data/lib/sbom/cyclone_dx/record/declarations.rb +193 -0
  42. data/lib/sbom/cyclone_dx/record/definitions.rb +17 -0
  43. data/lib/sbom/cyclone_dx/record/dependency.rb +21 -0
  44. data/lib/sbom/cyclone_dx/record/diff.rb +18 -0
  45. data/lib/sbom/cyclone_dx/record/energy_consumption.rb +31 -0
  46. data/lib/sbom/cyclone_dx/record/energy_measure.rb +18 -0
  47. data/lib/sbom/cyclone_dx/record/energy_provider.rb +31 -0
  48. data/lib/sbom/cyclone_dx/record/environmental_consideration.rb +20 -0
  49. data/lib/sbom/cyclone_dx/record/event.rb +31 -0
  50. data/lib/sbom/cyclone_dx/record/external_reference.rb +25 -0
  51. data/lib/sbom/cyclone_dx/record/fairness_assessment.rb +22 -0
  52. data/lib/sbom/cyclone_dx/record/formula.rb +29 -0
  53. data/lib/sbom/cyclone_dx/record/graphic.rb +19 -0
  54. data/lib/sbom/cyclone_dx/record/graphics_collection.rb +19 -0
  55. data/lib/sbom/cyclone_dx/record/hash_data.rb +18 -0
  56. data/lib/sbom/cyclone_dx/record/identifiable_action.rb +21 -0
  57. data/lib/sbom/cyclone_dx/record/input.rb +34 -0
  58. data/lib/sbom/cyclone_dx/record/input_output_ml_parameter.rb +17 -0
  59. data/lib/sbom/cyclone_dx/record/issue.rb +36 -0
  60. data/lib/sbom/cyclone_dx/record/license.rb +90 -0
  61. data/lib/sbom/cyclone_dx/record/license_choice.rb +35 -0
  62. data/lib/sbom/cyclone_dx/record/metadata.rb +55 -0
  63. data/lib/sbom/cyclone_dx/record/model_card.rb +89 -0
  64. data/lib/sbom/cyclone_dx/record/note.rb +20 -0
  65. data/lib/sbom/cyclone_dx/record/organizational_contact.rb +26 -0
  66. data/lib/sbom/cyclone_dx/record/organizational_entity.rb +28 -0
  67. data/lib/sbom/cyclone_dx/record/output.rb +34 -0
  68. data/lib/sbom/cyclone_dx/record/parameter.rb +20 -0
  69. data/lib/sbom/cyclone_dx/record/patch.rb +23 -0
  70. data/lib/sbom/cyclone_dx/record/performance_metric.rb +30 -0
  71. data/lib/sbom/cyclone_dx/record/postal_address.rb +34 -0
  72. data/lib/sbom/cyclone_dx/record/property.rb +18 -0
  73. data/lib/sbom/cyclone_dx/record/rating.rb +27 -0
  74. data/lib/sbom/cyclone_dx/record/release_notes.rb +44 -0
  75. data/lib/sbom/cyclone_dx/record/resource_reference_choice.rb +22 -0
  76. data/lib/sbom/cyclone_dx/record/risk.rb +18 -0
  77. data/lib/sbom/cyclone_dx/record/root.rb +63 -0
  78. data/lib/sbom/cyclone_dx/record/secured_by.rb +20 -0
  79. data/lib/sbom/cyclone_dx/record/service.rb +54 -0
  80. data/lib/sbom/cyclone_dx/record/service_data.rb +32 -0
  81. data/lib/sbom/cyclone_dx/record/signature.rb +85 -0
  82. data/lib/sbom/cyclone_dx/record/standard.rb +72 -0
  83. data/lib/sbom/cyclone_dx/record/step.rb +24 -0
  84. data/lib/sbom/cyclone_dx/record/swid.rb +29 -0
  85. data/lib/sbom/cyclone_dx/record/task.rb +56 -0
  86. data/lib/sbom/cyclone_dx/record/tools.rb +20 -0
  87. data/lib/sbom/cyclone_dx/record/trigger.rb +48 -0
  88. data/lib/sbom/cyclone_dx/record/version.rb +24 -0
  89. data/lib/sbom/cyclone_dx/record/volume.rb +33 -0
  90. data/lib/sbom/cyclone_dx/record/vulnerability.rb +119 -0
  91. data/lib/sbom/cyclone_dx/record/vulnerability_source.rb +20 -0
  92. data/lib/sbom/cyclone_dx/record/workflow.rb +59 -0
  93. data/lib/sbom/cyclone_dx/record/workspace.rb +45 -0
  94. data/lib/sbom/cyclone_dx/record.rb +12 -0
  95. data/lib/sbom/cyclone_dx/validator/array_validator.rb +66 -0
  96. data/lib/sbom/cyclone_dx/validator/base_validator.rb +43 -0
  97. data/lib/sbom/cyclone_dx/validator/boolean_validator.rb +16 -0
  98. data/lib/sbom/cyclone_dx/validator/date_time_validator.rb +29 -0
  99. data/lib/sbom/cyclone_dx/validator/email_address_validator.rb +31 -0
  100. data/lib/sbom/cyclone_dx/validator/float_validator.rb +30 -0
  101. data/lib/sbom/cyclone_dx/validator/integer_validator.rb +30 -0
  102. data/lib/sbom/cyclone_dx/validator/record_validator.rb +26 -0
  103. data/lib/sbom/cyclone_dx/validator/string_validator.rb +33 -0
  104. data/lib/sbom/cyclone_dx/validator/union_validator.rb +39 -0
  105. data/lib/sbom/cyclone_dx/validator/uri_validator.rb +32 -0
  106. data/lib/sbom/cyclone_dx/validator.rb +32 -0
  107. data/lib/sbom/cyclone_dx/version.rb +7 -0
  108. data/lib/sbom/cyclone_dx.rb +39 -0
  109. data/rbs_collection.lock.yaml +288 -0
  110. data/rbs_collection.yaml +31 -0
  111. data/sbom-cyclone_dx.gemspec +32 -0
  112. data/sig/email_address_extension.rbs +14 -0
  113. data/sig/sbom/cyclone_dx/enum.rbs +93 -0
  114. data/sig/sbom/cyclone_dx/field.rbs +434 -0
  115. data/sig/sbom/cyclone_dx/pattern.rbs +24 -0
  116. data/sig/sbom/cyclone_dx/record/advisory.rbs +19 -0
  117. data/sig/sbom/cyclone_dx/record/annotation.rbs +63 -0
  118. data/sig/sbom/cyclone_dx/record/attachment.rbs +24 -0
  119. data/sig/sbom/cyclone_dx/record/base.rbs +62 -0
  120. data/sig/sbom/cyclone_dx/record/cipher_suite.rbs +24 -0
  121. data/sig/sbom/cyclone_dx/record/co2_measure.rbs +14 -0
  122. data/sig/sbom/cyclone_dx/record/command.rbs +19 -0
  123. data/sig/sbom/cyclone_dx/record/commit.rbs +34 -0
  124. data/sig/sbom/cyclone_dx/record/component.rbs +203 -0
  125. data/sig/sbom/cyclone_dx/record/component_data.rbs +73 -0
  126. data/sig/sbom/cyclone_dx/record/component_evidence.rbs +115 -0
  127. data/sig/sbom/cyclone_dx/record/component_identity_evidence.rbs +53 -0
  128. data/sig/sbom/cyclone_dx/record/composition.rbs +39 -0
  129. data/sig/sbom/cyclone_dx/record/condition.rbs +24 -0
  130. data/sig/sbom/cyclone_dx/record/copyright.rbs +14 -0
  131. data/sig/sbom/cyclone_dx/record/crypto_properties.rbs +268 -0
  132. data/sig/sbom/cyclone_dx/record/data_governance.rbs +24 -0
  133. data/sig/sbom/cyclone_dx/record/data_governance_responsible_party.rbs +19 -0
  134. data/sig/sbom/cyclone_dx/record/declarations.rbs +352 -0
  135. data/sig/sbom/cyclone_dx/record/definitions.rbs +14 -0
  136. data/sig/sbom/cyclone_dx/record/dependency.rbs +24 -0
  137. data/sig/sbom/cyclone_dx/record/diff.rbs +19 -0
  138. data/sig/sbom/cyclone_dx/record/energy_consumption.rbs +39 -0
  139. data/sig/sbom/cyclone_dx/record/energy_measure.rbs +14 -0
  140. data/sig/sbom/cyclone_dx/record/energy_provider.rbs +39 -0
  141. data/sig/sbom/cyclone_dx/record/environmental_consideration.rbs +19 -0
  142. data/sig/sbom/cyclone_dx/record/event.rbs +44 -0
  143. data/sig/sbom/cyclone_dx/record/external_reference.rbs +29 -0
  144. data/sig/sbom/cyclone_dx/record/fairness_assessment.rbs +29 -0
  145. data/sig/sbom/cyclone_dx/record/formula.rbs +34 -0
  146. data/sig/sbom/cyclone_dx/record/graphic.rbs +19 -0
  147. data/sig/sbom/cyclone_dx/record/graphics_collection.rbs +19 -0
  148. data/sig/sbom/cyclone_dx/record/hash_data.rbs +19 -0
  149. data/sig/sbom/cyclone_dx/record/identifiable_action.rbs +24 -0
  150. data/sig/sbom/cyclone_dx/record/input.rbs +44 -0
  151. data/sig/sbom/cyclone_dx/record/input_output_ml_parameter.rbs +14 -0
  152. data/sig/sbom/cyclone_dx/record/issue.rbs +53 -0
  153. data/sig/sbom/cyclone_dx/record/license.rbs +134 -0
  154. data/sig/sbom/cyclone_dx/record/license_choice.rbs +39 -0
  155. data/sig/sbom/cyclone_dx/record/metadata.rbs +82 -0
  156. data/sig/sbom/cyclone_dx/record/model_card.rbs +143 -0
  157. data/sig/sbom/cyclone_dx/record/note.rbs +19 -0
  158. data/sig/sbom/cyclone_dx/record/organizational_contact.rbs +29 -0
  159. data/sig/sbom/cyclone_dx/record/organizational_entity.rbs +34 -0
  160. data/sig/sbom/cyclone_dx/record/output.rbs +44 -0
  161. data/sig/sbom/cyclone_dx/record/parameter.rbs +24 -0
  162. data/sig/sbom/cyclone_dx/record/patch.rbs +24 -0
  163. data/sig/sbom/cyclone_dx/record/performance_metric.rbs +43 -0
  164. data/sig/sbom/cyclone_dx/record/postal_address.rbs +44 -0
  165. data/sig/sbom/cyclone_dx/record/property.rbs +19 -0
  166. data/sig/sbom/cyclone_dx/record/rating.rbs +39 -0
  167. data/sig/sbom/cyclone_dx/record/release_notes.rbs +64 -0
  168. data/sig/sbom/cyclone_dx/record/resource_reference_choice.rbs +19 -0
  169. data/sig/sbom/cyclone_dx/record/risk.rbs +19 -0
  170. data/sig/sbom/cyclone_dx/record/root.rbs +84 -0
  171. data/sig/sbom/cyclone_dx/record/secured_by.rbs +19 -0
  172. data/sig/sbom/cyclone_dx/record/service.rbs +99 -0
  173. data/sig/sbom/cyclone_dx/record/service_data.rbs +44 -0
  174. data/sig/sbom/cyclone_dx/record/signature.rbs +130 -0
  175. data/sig/sbom/cyclone_dx/record/standard.rbs +132 -0
  176. data/sig/sbom/cyclone_dx/record/step.rbs +29 -0
  177. data/sig/sbom/cyclone_dx/record/swid.rbs +44 -0
  178. data/sig/sbom/cyclone_dx/record/task.rbs +84 -0
  179. data/sig/sbom/cyclone_dx/record/tools.rbs +19 -0
  180. data/sig/sbom/cyclone_dx/record/trigger.rbs +69 -0
  181. data/sig/sbom/cyclone_dx/record/version.rbs +24 -0
  182. data/sig/sbom/cyclone_dx/record/volume.rbs +49 -0
  183. data/sig/sbom/cyclone_dx/record/vulnerability.rbs +209 -0
  184. data/sig/sbom/cyclone_dx/record/vulnerability_source.rbs +19 -0
  185. data/sig/sbom/cyclone_dx/record/workflow.rbs +94 -0
  186. data/sig/sbom/cyclone_dx/record/workspace.rbs +69 -0
  187. data/sig/sbom/cyclone_dx/record.rbs +161 -0
  188. data/sig/sbom/cyclone_dx/type.rbs +16 -0
  189. data/sig/sbom/cyclone_dx/validator/array_validator.rbs +31 -0
  190. data/sig/sbom/cyclone_dx/validator/base_validator.rbs +21 -0
  191. data/sig/sbom/cyclone_dx/validator/boolean_validator.rbs +9 -0
  192. data/sig/sbom/cyclone_dx/validator/date_time_validator.rbs +10 -0
  193. data/sig/sbom/cyclone_dx/validator/email_address_validator.rbs +10 -0
  194. data/sig/sbom/cyclone_dx/validator/float_validator.rbs +12 -0
  195. data/sig/sbom/cyclone_dx/validator/integer_validator.rbs +12 -0
  196. data/sig/sbom/cyclone_dx/validator/record_validator.rbs +12 -0
  197. data/sig/sbom/cyclone_dx/validator/string_validator.rbs +14 -0
  198. data/sig/sbom/cyclone_dx/validator/union_validator.rbs +24 -0
  199. data/sig/sbom/cyclone_dx/validator/uri_validator.rbs +10 -0
  200. data/sig/sbom/cyclone_dx/validator.rbs +66 -0
  201. data/sig/sbom/cyclone_dx.rbs +13 -0
  202. data/sig/types.rbs +45 -0
  203. data/spec/email_address_extension_spec.rb +27 -0
  204. data/spec/factories/factory_helper.rb +78 -0
  205. data/spec/factories/record/advisory_factory.rb +11 -0
  206. data/spec/factories/record/annotation_factory.rb +63 -0
  207. data/spec/factories/record/attachment_factory.rb +9 -0
  208. data/spec/factories/record/cipher_suite_factory.rb +26 -0
  209. data/spec/factories/record/co2_measure_factory.rb +9 -0
  210. data/spec/factories/record/command_factory.rb +10 -0
  211. data/spec/factories/record/commit_factory.rb +13 -0
  212. data/spec/factories/record/component_data_factory.rb +28 -0
  213. data/spec/factories/record/component_evidence_factory.rb +44 -0
  214. data/spec/factories/record/component_factory.rb +102 -0
  215. data/spec/factories/record/component_identity_evidence_factory.rb +25 -0
  216. data/spec/factories/record/composition_factory.rb +20 -0
  217. data/spec/factories/record/condition_factory.rb +11 -0
  218. data/spec/factories/record/copyright_factory.rb +9 -0
  219. data/spec/factories/record/crypto_properties_factory.rb +191 -0
  220. data/spec/factories/record/data_governance_factory.rb +11 -0
  221. data/spec/factories/record/data_governance_responsible_party_factory.rb +31 -0
  222. data/spec/factories/record/declarations_factory.rb +145 -0
  223. data/spec/factories/record/definitions_factory.rb +9 -0
  224. data/spec/factories/record/dependency_factory.rb +12 -0
  225. data/spec/factories/record/diff_factory.rb +24 -0
  226. data/spec/factories/record/energy_consumption_factory.rb +15 -0
  227. data/spec/factories/record/energy_measure_factory.rb +9 -0
  228. data/spec/factories/record/energy_provider_factory.rb +15 -0
  229. data/spec/factories/record/environmental_consideration_factory.rb +10 -0
  230. data/spec/factories/record/event_factory.rb +15 -0
  231. data/spec/factories/record/external_reference_factory.rb +13 -0
  232. data/spec/factories/record/fairness_assessment_factory.rb +12 -0
  233. data/spec/factories/record/formula_factory.rb +13 -0
  234. data/spec/factories/record/graphic_factory.rb +10 -0
  235. data/spec/factories/record/graphics_collection_factory.rb +10 -0
  236. data/spec/factories/record/hash_data_factory.rb +10 -0
  237. data/spec/factories/record/identifiable_action_factory.rb +11 -0
  238. data/spec/factories/record/input_factory.rb +36 -0
  239. data/spec/factories/record/input_output_ml_parameter_factory.rb +9 -0
  240. data/spec/factories/record/issue_factory.rb +22 -0
  241. data/spec/factories/record/license_choice_factory.rb +23 -0
  242. data/spec/factories/record/license_factory.rb +99 -0
  243. data/spec/factories/record/metadata_factory.rb +38 -0
  244. data/spec/factories/record/model_card_factory.rb +59 -0
  245. data/spec/factories/record/note_factory.rb +11 -0
  246. data/spec/factories/record/organizational_contact_factory.rb +12 -0
  247. data/spec/factories/record/organizational_entity_factory.rb +13 -0
  248. data/spec/factories/record/output_factory.rb +32 -0
  249. data/spec/factories/record/parameter_factory.rb +11 -0
  250. data/spec/factories/record/patch_factory.rb +12 -0
  251. data/spec/factories/record/performance_metric_factory.rb +20 -0
  252. data/spec/factories/record/postal_address_factory.rb +14 -0
  253. data/spec/factories/record/property_factory.rb +11 -0
  254. data/spec/factories/record/rating_factory.rb +14 -0
  255. data/spec/factories/record/release_notes_factory.rb +20 -0
  256. data/spec/factories/record/resource_reference_choice_factory.rb +27 -0
  257. data/spec/factories/record/risk_factory.rb +10 -0
  258. data/spec/factories/record/root_factory.rb +23 -0
  259. data/spec/factories/record/secured_by_factory.rb +10 -0
  260. data/spec/factories/record/service_data_factory.rb +16 -0
  261. data/spec/factories/record/service_factory.rb +27 -0
  262. data/spec/factories/record/signature_factory.rb +50 -0
  263. data/spec/factories/record/standard_factory.rb +37 -0
  264. data/spec/factories/record/step_factory.rb +12 -0
  265. data/spec/factories/record/swid_factory.rb +16 -0
  266. data/spec/factories/record/task_factory.rb +24 -0
  267. data/spec/factories/record/tools_factory.rb +10 -0
  268. data/spec/factories/record/trigger_factory.rb +21 -0
  269. data/spec/factories/record/version_factory.rb +19 -0
  270. data/spec/factories/record/volume_factory.rb +16 -0
  271. data/spec/factories/record/vulnerability_factory.rb +70 -0
  272. data/spec/factories/record/vulnerability_source_factory.rb +10 -0
  273. data/spec/factories/record/workflow_factory.rb +26 -0
  274. data/spec/factories/record/workspace_factory.rb +21 -0
  275. data/spec/factories/record_factory.rb +159 -0
  276. data/spec/fixtures/cipher_info.yml +948 -0
  277. data/spec/fixtures/purl_data.yml +0 -0
  278. data/spec/sbom/cyclone_dx/enum_spec.rb +30 -0
  279. data/spec/sbom/cyclone_dx/field_spec.rb +104 -0
  280. data/spec/sbom/cyclone_dx/pattern_spec.rb +18 -0
  281. data/spec/sbom/cyclone_dx/record/advisory_spec.rb +14 -0
  282. data/spec/sbom/cyclone_dx/record/annotation_spec.rb +31 -0
  283. data/spec/sbom/cyclone_dx/record/attachment_spec.rb +14 -0
  284. data/spec/sbom/cyclone_dx/record/base_spec.rb +363 -0
  285. data/spec/sbom/cyclone_dx/record/cipher_suite_spec.rb +14 -0
  286. data/spec/sbom/cyclone_dx/record/co2_measure_spec.rb +14 -0
  287. data/spec/sbom/cyclone_dx/record/command_spec.rb +14 -0
  288. data/spec/sbom/cyclone_dx/record/commit_spec.rb +14 -0
  289. data/spec/sbom/cyclone_dx/record/component_data_spec.rb +14 -0
  290. data/spec/sbom/cyclone_dx/record/component_evidence_spec.rb +14 -0
  291. data/spec/sbom/cyclone_dx/record/component_identity_evidence_spec.rb +14 -0
  292. data/spec/sbom/cyclone_dx/record/component_spec.rb +14 -0
  293. data/spec/sbom/cyclone_dx/record/composition_spec.rb +14 -0
  294. data/spec/sbom/cyclone_dx/record/condition_spec.rb +14 -0
  295. data/spec/sbom/cyclone_dx/record/copyright_spec.rb +14 -0
  296. data/spec/sbom/cyclone_dx/record/crypto_properties_spec.rb +14 -0
  297. data/spec/sbom/cyclone_dx/record/data_governance_responsible_party_spec.rb +19 -0
  298. data/spec/sbom/cyclone_dx/record/data_governance_spec.rb +14 -0
  299. data/spec/sbom/cyclone_dx/record/declarations_spec.rb +14 -0
  300. data/spec/sbom/cyclone_dx/record/definitions_spec.rb +14 -0
  301. data/spec/sbom/cyclone_dx/record/dependency_spec.rb +14 -0
  302. data/spec/sbom/cyclone_dx/record/diff_spec.rb +14 -0
  303. data/spec/sbom/cyclone_dx/record/energy_consumption_spec.rb +14 -0
  304. data/spec/sbom/cyclone_dx/record/energy_measure_spec.rb +14 -0
  305. data/spec/sbom/cyclone_dx/record/energy_provider_spec.rb +14 -0
  306. data/spec/sbom/cyclone_dx/record/environmental_consideration_spec.rb +14 -0
  307. data/spec/sbom/cyclone_dx/record/event_spec.rb +14 -0
  308. data/spec/sbom/cyclone_dx/record/external_reference_spec.rb +14 -0
  309. data/spec/sbom/cyclone_dx/record/fairness_assessment_spec.rb +14 -0
  310. data/spec/sbom/cyclone_dx/record/formula_spec.rb +14 -0
  311. data/spec/sbom/cyclone_dx/record/graphic_spec.rb +14 -0
  312. data/spec/sbom/cyclone_dx/record/graphics_collection_spec.rb +14 -0
  313. data/spec/sbom/cyclone_dx/record/hash_data_spec.rb +14 -0
  314. data/spec/sbom/cyclone_dx/record/identifiable_action_spec.rb +14 -0
  315. data/spec/sbom/cyclone_dx/record/input_output_ml_parameter_spec.rb +14 -0
  316. data/spec/sbom/cyclone_dx/record/input_spec.rb +14 -0
  317. data/spec/sbom/cyclone_dx/record/issue_spec.rb +14 -0
  318. data/spec/sbom/cyclone_dx/record/license_choice_spec.rb +26 -0
  319. data/spec/sbom/cyclone_dx/record/license_spec.rb +14 -0
  320. data/spec/sbom/cyclone_dx/record/metadata_spec.rb +14 -0
  321. data/spec/sbom/cyclone_dx/record/model_card_spec.rb +14 -0
  322. data/spec/sbom/cyclone_dx/record/note_spec.rb +14 -0
  323. data/spec/sbom/cyclone_dx/record/organizational_contact_spec.rb +14 -0
  324. data/spec/sbom/cyclone_dx/record/organizational_entity_spec.rb +14 -0
  325. data/spec/sbom/cyclone_dx/record/output_spec.rb +14 -0
  326. data/spec/sbom/cyclone_dx/record/parameter_spec.rb +14 -0
  327. data/spec/sbom/cyclone_dx/record/patch_spec.rb +14 -0
  328. data/spec/sbom/cyclone_dx/record/performance_metric_spec.rb +14 -0
  329. data/spec/sbom/cyclone_dx/record/postal_address_spec.rb +14 -0
  330. data/spec/sbom/cyclone_dx/record/property_spec.rb +14 -0
  331. data/spec/sbom/cyclone_dx/record/rating_spec.rb +14 -0
  332. data/spec/sbom/cyclone_dx/record/release_notes_spec.rb +14 -0
  333. data/spec/sbom/cyclone_dx/record/resource_reference_choice_spec.rb +14 -0
  334. data/spec/sbom/cyclone_dx/record/risk_spec.rb +14 -0
  335. data/spec/sbom/cyclone_dx/record/root_spec.rb +14 -0
  336. data/spec/sbom/cyclone_dx/record/secured_by_spec.rb +14 -0
  337. data/spec/sbom/cyclone_dx/record/service_data_spec.rb +14 -0
  338. data/spec/sbom/cyclone_dx/record/service_spec.rb +14 -0
  339. data/spec/sbom/cyclone_dx/record/signature_spec.rb +26 -0
  340. data/spec/sbom/cyclone_dx/record/standard_spec.rb +14 -0
  341. data/spec/sbom/cyclone_dx/record/step_spec.rb +14 -0
  342. data/spec/sbom/cyclone_dx/record/swid_spec.rb +14 -0
  343. data/spec/sbom/cyclone_dx/record/task_spec.rb +14 -0
  344. data/spec/sbom/cyclone_dx/record/tools_spec.rb +14 -0
  345. data/spec/sbom/cyclone_dx/record/trigger_spec.rb +14 -0
  346. data/spec/sbom/cyclone_dx/record/version_spec.rb +14 -0
  347. data/spec/sbom/cyclone_dx/record/volume_spec.rb +14 -0
  348. data/spec/sbom/cyclone_dx/record/vulnerability_source_spec.rb +14 -0
  349. data/spec/sbom/cyclone_dx/record/vulnerability_spec.rb +14 -0
  350. data/spec/sbom/cyclone_dx/record/workflow_spec.rb +14 -0
  351. data/spec/sbom/cyclone_dx/record/workspace_spec.rb +14 -0
  352. data/spec/sbom/cyclone_dx/record_spec.rb +7 -0
  353. data/spec/sbom/cyclone_dx/validator/array_validator_spec.rb +184 -0
  354. data/spec/sbom/cyclone_dx/validator/base_validator_spec.rb +71 -0
  355. data/spec/sbom/cyclone_dx/validator/boolean_validator_spec.rb +26 -0
  356. data/spec/sbom/cyclone_dx/validator/date_time_validator_spec.rb +28 -0
  357. data/spec/sbom/cyclone_dx/validator/email_address_validator_spec.rb +23 -0
  358. data/spec/sbom/cyclone_dx/validator/float_validator_spec.rb +71 -0
  359. data/spec/sbom/cyclone_dx/validator/integer_validator_spec.rb +71 -0
  360. data/spec/sbom/cyclone_dx/validator/record_validator_spec.rb +35 -0
  361. data/spec/sbom/cyclone_dx/validator/string_validator_spec.rb +94 -0
  362. data/spec/sbom/cyclone_dx/validator/union_validator_spec.rb +65 -0
  363. data/spec/sbom/cyclone_dx/validator/uri_validator_spec.rb +21 -0
  364. data/spec/sbom/cyclone_dx/validator_spec.rb +38 -0
  365. data/spec/sbom/cyclone_dx/version_spec.rb +9 -0
  366. data/spec/sbom/cyclone_dx_spec.rb +7 -0
  367. data/spec/spec_helper.rb +39 -0
  368. metadata +377 -6
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/component_identity_evidence"
5
+
6
+ describe SBOM::CycloneDX::Record::ComponentIdentityEvidence do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:component_identity_evidence) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:component_identity_evidence, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/component"
5
+
6
+ describe SBOM::CycloneDX::Record::Component do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:component) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:component, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/composition"
5
+
6
+ describe SBOM::CycloneDX::Record::Composition do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:composition) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:composition, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/condition"
5
+
6
+ describe SBOM::CycloneDX::Record::Condition do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:condition) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:condition, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/copyright"
5
+
6
+ describe SBOM::CycloneDX::Record::Copyright do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:copyright) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:copyright, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/crypto_properties"
5
+
6
+ describe SBOM::CycloneDX::Record::CryptoProperties do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:crypto_properties) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:crypto_properties, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/data_governance_responsible_party"
5
+
6
+ describe SBOM::CycloneDX::Record::DataGovernanceResponsibleParty do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:data_governance_responsible_party) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:data_governance_responsible_party, :all_fields) }.not_to raise_error
13
+ end
14
+
15
+ it "is valid with either organization or contact" do
16
+ expect { build(:data_governance_responsible_party, :organization) }.not_to raise_error
17
+ expect { build(:data_governance_responsible_party, :contact) }.not_to raise_error
18
+ end
19
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/data_governance"
5
+
6
+ describe SBOM::CycloneDX::Record::DataGovernance do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:data_governance) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:data_governance, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/declarations"
5
+
6
+ describe SBOM::CycloneDX::Record::Declarations do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:declarations) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:declarations, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/definitions"
5
+
6
+ describe SBOM::CycloneDX::Record::Definitions do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:definitions) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:definitions, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/dependency"
5
+
6
+ describe SBOM::CycloneDX::Record::Dependency do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:dependency) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:dependency, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/diff"
5
+
6
+ describe SBOM::CycloneDX::Record::Diff do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:diff) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:diff, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/energy_consumption"
5
+
6
+ describe SBOM::CycloneDX::Record::EnergyConsumption do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:energy_consumption) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:energy_consumption, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/energy_measure"
5
+
6
+ describe SBOM::CycloneDX::Record::EnergyMeasure do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:energy_measure) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:energy_measure, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/energy_provider"
5
+
6
+ describe SBOM::CycloneDX::Record::EnergyProvider do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:energy_provider) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:energy_provider, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/environmental_consideration"
5
+
6
+ describe SBOM::CycloneDX::Record::EnvironmentalConsideration do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:environmental_consideration) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:environmental_consideration, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/event"
5
+
6
+ describe SBOM::CycloneDX::Record::Event do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:event) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:event, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/external_reference"
5
+
6
+ describe SBOM::CycloneDX::Record::ExternalReference do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:external_reference) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:external_reference, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/fairness_assessment"
5
+
6
+ describe SBOM::CycloneDX::Record::FairnessAssessment do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:fairness_assessment) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:fairness_assessment, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/formula"
5
+
6
+ describe SBOM::CycloneDX::Record::Formula do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:formula) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:formula, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/graphic"
5
+
6
+ describe SBOM::CycloneDX::Record::Graphic do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:graphic) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:graphic, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/graphics_collection"
5
+
6
+ describe SBOM::CycloneDX::Record::GraphicsCollection do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:graphics_collection) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:graphics_collection, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/hash_data"
5
+
6
+ describe SBOM::CycloneDX::Record::HashData do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:hash_data) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:hash_data, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/identifiable_action"
5
+
6
+ describe SBOM::CycloneDX::Record::IdentifiableAction do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:identifiable_action) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:identifiable_action, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/input_output_ml_parameter"
5
+
6
+ describe SBOM::CycloneDX::Record::InputOutputMLParameter do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:input_output_ml_parameter) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:input_output_ml_parameter, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/input"
5
+
6
+ describe SBOM::CycloneDX::Record::Input do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:input) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:input, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/issue"
5
+
6
+ describe SBOM::CycloneDX::Record::Issue do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:issue) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:issue, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/license_choice"
5
+
6
+ describe SBOM::CycloneDX::Record::LicenseChoice do
7
+ describe SBOM::CycloneDX::Record::LicenseChoice::LicenseExpression do
8
+ it "can be initialized with minimum required attributes" do
9
+ expect { build(:license_expression) }.not_to raise_error
10
+ end
11
+
12
+ it "can be initialized with all attributes" do
13
+ expect { build(:license_expression, :all_fields) }.not_to raise_error
14
+ end
15
+ end
16
+
17
+ describe SBOM::CycloneDX::Record::LicenseChoice::WrappedLicense do
18
+ it "can be initialized with minimum required attributes" do
19
+ expect { build(:wrapped_license) }.not_to raise_error
20
+ end
21
+
22
+ it "can be initialized with all attributes" do
23
+ expect { build(:wrapped_license, :all_fields) }.not_to raise_error
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/license"
5
+
6
+ describe SBOM::CycloneDX::Record::License do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:license) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:license, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/metadata"
5
+
6
+ describe SBOM::CycloneDX::Record::Metadata do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:metadata) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:metadata, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/model_card"
5
+
6
+ describe SBOM::CycloneDX::Record::ModelCard do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:model_card) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:model_card, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/note"
5
+
6
+ describe SBOM::CycloneDX::Record::Note do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:note) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:note, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/organizational_contact"
5
+
6
+ describe SBOM::CycloneDX::Record::OrganizationalContact do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:organizational_contact) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:organizational_contact, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/organizational_entity"
5
+
6
+ describe SBOM::CycloneDX::Record::OrganizationalEntity do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:organizational_entity) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:organizational_entity, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/output"
5
+
6
+ describe SBOM::CycloneDX::Record::Output do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:output) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:output, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/parameter"
5
+
6
+ describe SBOM::CycloneDX::Record::Parameter do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:parameter) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:parameter, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/patch"
5
+
6
+ describe SBOM::CycloneDX::Record::Patch do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:patch) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:patch, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/performance_metric"
5
+
6
+ describe SBOM::CycloneDX::Record::PerformanceMetric do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:performance_metric) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:performance_metric, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/postal_address"
5
+
6
+ describe SBOM::CycloneDX::Record::PostalAddress do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:postal_address) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:postal_address, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/property"
5
+
6
+ describe SBOM::CycloneDX::Record::Property do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:property) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:property, :all_fields) }.not_to raise_error
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "sbom/cyclone_dx/record/rating"
5
+
6
+ describe SBOM::CycloneDX::Record::Rating do
7
+ it "can be initialized with minimum required attributes" do
8
+ expect { build(:rating) }.not_to raise_error
9
+ end
10
+
11
+ it "can be initialized with all attributes" do
12
+ expect { build(:rating, :all_fields) }.not_to raise_error
13
+ end
14
+ end