Skip to content

Commit 473ccf6

Browse files
committed
add from_sequence in OpensslVersionRange
Signed-off-by: Keshav Priyadarshi <git@keshav.space>
1 parent bc8e33f commit 473ccf6

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

src/univers/version_range.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -898,6 +898,16 @@ def from_native(cls, string):
898898
constraints.append(constraint)
899899
return cls(constraints=constraints)
900900

901+
@classmethod
902+
def from_sequence(cls, sequence):
903+
constraints = []
904+
for version in sequence:
905+
version = remove_spaces(version).lower()
906+
version_obj = cls.version_class(version)
907+
constraint = VersionConstraint(comparator="=", version=version_obj)
908+
constraints.append(constraint)
909+
return cls(constraints=constraints)
910+
901911

902912
vers_by_github_native_comparators = {
903913
"=": "=",

tests/test_version_range.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,20 @@ def test_OpensslVersionRange_from_native_mixed(self):
264264
version_range = OpensslVersionRange.from_native(openssl_range)
265265
assert version_range == expected
266266

267+
def test_OpensslVersionRange_from_sequence(self):
268+
sequence = ["3.0.0", "1.0.1b", "3.0.2", "0.9.7a", "1.1.1ka"]
269+
expected = OpensslVersionRange(
270+
constraints=(
271+
VersionConstraint(comparator="=", version=OpensslVersion(string="0.9.7a")),
272+
VersionConstraint(comparator="=", version=OpensslVersion(string="1.0.1b")),
273+
VersionConstraint(comparator="=", version=OpensslVersion(string="1.1.1ka")),
274+
VersionConstraint(comparator="=", version=OpensslVersion(string="3.0.0")),
275+
VersionConstraint(comparator="=", version=OpensslVersion(string="3.0.2")),
276+
)
277+
)
278+
version_range = OpensslVersionRange.from_sequence(sequence)
279+
assert version_range == expected
280+
267281

268282
VERSION_RANGE_TESTS_BY_SCHEME = {
269283
"nginx": ["0.8.40+", "0.7.52-0.8.39", "0.9.10", "1.5.0+, 1.4.1+"],

0 commit comments

Comments
 (0)