Skip to content

Add support for Openstack Advisories#184

Open
Samk1710 wants to merge 2 commits intoaboutcode-org:mainfrom
Samk1710:ossa
Open

Add support for Openstack Advisories#184
Samk1710 wants to merge 2 commits intoaboutcode-org:mainfrom
Samk1710:ossa

Conversation

@Samk1710
Copy link
Copy Markdown
Contributor

Resolves:

Added from_ossa_native function and its corresponding unit test.

Unit test logs:

collected 4661 items / 4645 deselected / 16 selected                                                 

tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[ ~= 0.9-False-Unsupported PyPI version constraint operator] PASSED [  6%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[~= 1.3-False-Unsupported PyPI version constraint operator] PASSED [ 12%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[ >= 1.0-True-vers:pypi/>=1.0] PASSED [ 18%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[ != 1.3.4.*-False-Unsupported PyPI version] PASSED [ 25%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[< 2.0-True-vers:pypi/<2.0] PASSED [ 31%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[~= 1.3.4.*-False-] PASSED [ 37%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[==1. *-False-Unsupported PyPI version] PASSED [ 43%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[==1.3.4 ) (-False-Unsupported character] PASSED [ 50%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[===1.0-False-Unsupported PyPI version] PASSED [ 56%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[<=5.0.3, >=6.0.0 <=6.1.0 and ==7.0.0-vers:pypi/<=5.0.3|>=6.0.0|<=6.1.0|7.0.0] PASSED [ 62%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[<=14.0.10, >=15.0.0 <=15.0.8, >=16.0.0 <=16.0.3-vers:pypi/<=14.0.10|>=15.0.0|<=15.0.8|>=16.0.0|<=16.0.3] PASSED [ 68%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[<17.0.12, >=18.0.0 <18.2.2, >=19.0.0 <19.0.2-vers:pypi/<17.0.12|>=18.0.0|<18.2.2|>=19.0.0|<19.0.2] PASSED [ 75%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[<19.3.1, >=20.0.0 <20.3.1, ==21.0.0-vers:pypi/<19.3.1|>=20.0.0|<20.3.1|21.0.0] PASSED [ 81%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[>=10.5.0 <10.7.2, >=10.8.0 <10.9.1, >=10.10.0 <10.12.1-vers:pypi/>=10.5.0|<10.7.2|>=10.8.0|<10.9.1|>=10.10.0|<10.12.1] PASSED [ 87%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[<16.3.3, >=17.0.0 <17.1.3, =18.0.0-vers:pypi/<16.3.3|>=17.0.0|<17.1.3|18.0.0] PASSED [ 93%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[-InvalidVersionRange] PASSED [100%]

========================== 16 passed, 4645 deselected, 54 warnings in 0.20s ==========================

Took some inspiration from from_gitlab_native function.

Signed-off-by: Samk <sampurnapyne1710@gmail.com>
Comment thread src/univers/version_range.py Outdated
Comment thread src/univers/version_range.py
Signed-off-by: Samk <sampurnapyne1710@gmail.com>
@Samk1710
Copy link
Copy Markdown
Contributor Author

Samk1710 commented Apr 17, 2026

@ziadhany I have pushed the changes removing the regex logic.

Unit test logs:

collected 4664 items / 4648 deselected / 16 selected                                            

tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[ ~= 0.9-False-Unsupported PyPI version constraint operator] PASSED [  6%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[~= 1.3-False-Unsupported PyPI version constraint operator] PASSED [ 12%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[ >= 1.0-True-vers:pypi/>=1.0] PASSED [ 18%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[ != 1.3.4.*-False-Unsupported PyPI version] PASSED [ 25%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[< 2.0-True-vers:pypi/<2.0] PASSED [ 31%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[~= 1.3.4.*-False-] PASSED [ 37%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[==1. *-False-Unsupported PyPI version] PASSED [ 43%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[==1.3.4 ) (-False-Unsupported character] PASSED [ 50%]
tests/test_version_range.py::test_PypiVersionRange_raises_ivr_for_unsupported_and_invalid_ranges[===1.0-False-Unsupported PyPI version] PASSED [ 56%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[<=5.0.3, >=6.0.0 <=6.1.0 and ==7.0.0-vers:pypi/<=5.0.3|>=6.0.0|<=6.1.0|7.0.0] PASSED [ 62%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[<=14.0.10, >=15.0.0 <=15.0.8, >=16.0.0 <=16.0.3-vers:pypi/<=14.0.10|>=15.0.0|<=15.0.8|>=16.0.0|<=16.0.3] PASSED [ 68%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[<17.0.12, >=18.0.0 <18.2.2, >=19.0.0 <19.0.2-vers:pypi/<17.0.12|>=18.0.0|<18.2.2|>=19.0.0|<19.0.2] PASSED [ 75%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[<19.3.1, >=20.0.0 <20.3.1, ==21.0.0-vers:pypi/<19.3.1|>=20.0.0|<20.3.1|21.0.0] PASSED [ 81%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[>=10.5.0 <10.7.2, >=10.8.0 <10.9.1, >=10.10.0 <10.12.1-vers:pypi/>=10.5.0|<10.7.2|>=10.8.0|<10.9.1|>=10.10.0|<10.12.1] PASSED [ 87%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[<16.3.3, >=17.0.0 <17.1.3, =18.0.0-vers:pypi/<16.3.3|>=17.0.0|<17.1.3|18.0.0] PASSED [ 93%]
tests/test_version_range.py::test_PypiVersionRange_from_ossa_native[-InvalidVersionRange] PASSED [100%]

======================= 16 passed, 4648 deselected, 54 warnings in 0.23s ========================

The importer is also collecting the vers info well
Importer logs:

Importing data using ossa_importer_v2
INFO 2026-04-17 08:59:52.112387 UTC Pipeline [OSSAImporterPipeline] starting
INFO 2026-04-17 08:59:52.112497 UTC Step [clone] starting
INFO 2026-04-17 08:59:52.112535 UTC Cloning `git+https://github.com/openstack/ossa`
INFO 2026-04-17 08:59:54.900179 UTC Step [clone] completed in 3 seconds
INFO 2026-04-17 08:59:54.900285 UTC Step [collect_and_store_advisories] starting
INFO 2026-04-17 08:59:54.901658 UTC Collecting 58 advisories
INFO 2026-04-17 08:59:54.927950 UTC Progress: 10% (6/58)
INFO 2026-04-17 08:59:54.935046 UTC Progress: 20% (12/58)
INFO 2026-04-17 08:59:54.945293 UTC Progress: 31% (18/58)
INFO 2026-04-17 08:59:54.956266 UTC Progress: 41% (24/58)
INFO 2026-04-17 08:59:54.966944 UTC Progress: 51% (30/58)
INFO 2026-04-17 08:59:54.976762 UTC Progress: 62% (36/58)
INFO 2026-04-17 08:59:54.987847 UTC Progress: 72% (42/58)
INFO 2026-04-17 08:59:55.002161 UTC Progress: 82% (48/58)
INFO 2026-04-17 08:59:55.014541 UTC Progress: 93% (54/58)
INFO 2026-04-17 08:59:55.024962 UTC Successfully collected 58 advisories
INFO 2026-04-17 08:59:55.025119 UTC Step [collect_and_store_advisories] completed in 0 seconds
INFO 2026-04-17 08:59:55.025179 UTC Step [clean_downloads] starting
INFO 2026-04-17 08:59:55.025221 UTC Removing cloned repository
INFO 2026-04-17 08:59:55.029644 UTC Step [clean_downloads] completed in 0 seconds
INFO 2026-04-17 08:59:55.029763 UTC Pipeline completed in 3 seconds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants