Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@
</a>
<div class="dropdown-item">
<i class="fas fa-download"></i> CycloneDX SBOM
<a class="badge text-bg-primary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.6">1.6</a>
<a class="badge text-bg-primary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.7">1.7</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.6">1.6</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.5">1.5</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.4">1.4</a>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@
</a>
<div class="dropdown-item">
<i class="fas fa-download"></i> CycloneDX SBOM
<a class="badge text-bg-primary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.6">1.6</a>
<a class="badge text-bg-primary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.7">1.7</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.6">1.6</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.5">1.5</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.4">1.4</a>
</div>
Expand Down
2 changes: 1 addition & 1 deletion dje/outputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
from dejacode_toolkit import openvex
from dejacode_toolkit import spdx

CYCLONEDX_DEFAULT_SPEC_VERSION = "1.6"
CYCLONEDX_DEFAULT_SPEC_VERSION = "1.7"


def safe_filename(filename):
Expand Down
2 changes: 1 addition & 1 deletion docs/howto-3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ the REST API:
Replace ``{uuid}`` with the unique identifier of your product.

You can also provide your preferred CycloneDX spec version using the ``spec_version``
query argument such as: ``/api/v2/products/{uuid}/cyclonedx_sbom/?spec_version=1.6``
query argument such as: ``/api/v2/products/{uuid}/cyclonedx_sbom/?spec_version=1.7``
Original file line number Diff line number Diff line change
Expand Up @@ -128,20 +128,23 @@
<div class="dropdown-header">CycloneDX</div>
<div class="dropdown-item">
<i class="fas fa-download"></i> SBOM
<a class="badge text-bg-primary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.6">1.6</a>
<a class="badge text-bg-primary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.7">1.7</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.6">1.6</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.5">1.5</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.4">1.4</a>
</div>
{% if request.user.dataspace.enable_vulnerablecodedb_access %}
<div class="dropdown-item">
<i class="fas fa-download"></i> VEX (only)
<a class="badge text-bg-primary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.6&content=vex">1.6</a>
<a class="badge text-bg-primary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.7&content=vex">1.7</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.6&content=vex">1.6</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.5&content=vex">1.5</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.4&content=vex">1.4</a>
</div>
<div class="dropdown-item">
<i class="fas fa-download"></i> SBOM+VEX (combined)
<a class="badge text-bg-primary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.6&content=combined">1.6</a>
<a class="badge text-bg-primary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.7&content=combined">1.7</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.6&content=combined">1.6</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.5&content=combined">1.5</a>
<a class="badge text-bg-secondary" href="{{ object.get_export_cyclonedx_url }}?spec_version=1.4&content=combined">1.4</a>
</div>
Expand Down
6 changes: 3 additions & 3 deletions product_portfolio/tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -762,11 +762,11 @@ def test_api_product_endpoint_cyclonedx_sbom_action(self):
expected = 'attachment; filename="dejacode_nexb_p1.cdx.json"'
self.assertEqual(expected, response["Content-Disposition"])
self.assertEqual("application/json", response["Content-Type"])
self.assertIn('"specVersion": "1.6"', str(response.getvalue()))
self.assertIn('"specVersion": "1.7"', str(response.getvalue()))

# Old spec version
response = self.client.get(url, data={"spec_version": "1.5"})
self.assertIn('"specVersion": "1.5"', str(response.getvalue()))
response = self.client.get(url, data={"spec_version": "1.6"})
self.assertIn('"specVersion": "1.6"', str(response.getvalue()))

response = self.client.get(url, data={"spec_version": "10.10"})
self.assertEqual(status.HTTP_400_BAD_REQUEST, response.status_code)
Expand Down
12 changes: 6 additions & 6 deletions product_portfolio/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -3354,9 +3354,9 @@ def test_product_portfolio_product_details_view_cyclonedx_links(self):
url = self.product1.get_absolute_url()

export_cyclonedx_url = self.product1.get_export_cyclonedx_url()
sbom_link = f"{export_cyclonedx_url}?spec_version=1.6"
vex_link = f"{export_cyclonedx_url}?spec_version=1.6&content=vex"
combined_link = f"{export_cyclonedx_url}?spec_version=1.6&content=combined"
sbom_link = f"{export_cyclonedx_url}?spec_version=1.7"
vex_link = f"{export_cyclonedx_url}?spec_version=1.7&content=vex"
combined_link = f"{export_cyclonedx_url}?spec_version=1.7&content=combined"

response = self.client.get(url)
self.assertContains(response, "SBOM")
Expand Down Expand Up @@ -3491,11 +3491,11 @@ def test_product_portfolio_product_export_cyclonedx_view(self):
# }
# self.assertDictEqual(expected, bom_as_dict)

self.assertEqual("http://cyclonedx.org/schema/bom-1.6.schema.json", bom_as_dict["$schema"])
self.assertEqual("http://cyclonedx.org/schema/bom-1.7.schema.json", bom_as_dict["$schema"])

# Old spec version
response = self.client.get(export_cyclonedx_url, data={"spec_version": "1.5"})
self.assertIn('"specVersion": "1.5"', str(response.getvalue()))
response = self.client.get(export_cyclonedx_url, data={"spec_version": "1.6"})
self.assertIn('"specVersion": "1.6"', str(response.getvalue()))

response = self.client.get(export_cyclonedx_url, data={"spec_version": "10.10"})
self.assertEqual(404, response.status_code)
Expand Down
Loading