-
-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathtest_maven_version_range.py
More file actions
82 lines (65 loc) · 3.38 KB
/
Copy pathtest_maven_version_range.py
File metadata and controls
82 lines (65 loc) · 3.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#
# Copyright (c) nexB Inc. and others.
# SPDX-License-Identifier: Apache-2.0
#
# Visit https://aboutcode.org and https://github.com/aboutcode-org/univers for support and download.
from univers.version_constraint import VersionConstraint
from univers.version_range import MavenVersionRange
from univers.versions import MavenVersion
def test_maven_version_range_from_native_with_lower_inclusive():
version_range = MavenVersionRange.from_native("[1.0.0,2.0.0)")
assert version_range == MavenVersionRange(
constraints=(
VersionConstraint(comparator=">=", version=MavenVersion(string="1.0.0")),
VersionConstraint(comparator="<", version=MavenVersion(string="2.0.0")),
)
)
def test_maven_version_range_from_native_with_nothing_inclusive():
version_range = MavenVersionRange.from_native(" ( 1.0.0 , 2.1.4 ) ")
assert version_range == MavenVersionRange(
constraints=(
VersionConstraint(comparator=">", version=MavenVersion(string="1.0.0")),
VersionConstraint(comparator="<", version=MavenVersion(string="2.1.4")),
)
)
def test_maven_version_range_from_native_for_pinned_version():
version_range = MavenVersionRange.from_native("[1.0.0]")
assert version_range == MavenVersionRange(
constraints=(VersionConstraint(comparator="=", version=MavenVersion(string="1.0.0")),)
)
def test_maven_version_range_from_native_for_single_point_range():
version_range = MavenVersionRange.from_native("[5.0,5.0]")
assert version_range == MavenVersionRange(
constraints=(VersionConstraint(comparator="=", version=MavenVersion(string="5.0")),)
)
def test_maven_version_range_from_native_for_illformed_version():
try:
MavenVersionRange.from_native("(1.0.0]")
assert False, "should have raised an exception"
except ValueError:
assert True
def test_maven_version_range_from_native_str_representation():
version_range = MavenVersionRange.from_native("[1.0.0,5.1)")
assert str(version_range) == "vers:maven/>=1.0.0|<5.1"
def test_maven_version_range_from_native_for_multiple_version_ranges():
version_range = MavenVersionRange.from_native("[2.0,2.3.1] , [2.4.0,2.12.2) , [2.13.0,2.15.0)")
assert version_range == MavenVersionRange(
constraints=(
VersionConstraint(comparator=">=", version=MavenVersion(string="2.0")),
VersionConstraint(comparator="<=", version=MavenVersion(string="2.3.1")),
VersionConstraint(comparator=">=", version=MavenVersion(string="2.4.0")),
VersionConstraint(comparator="<", version=MavenVersion(string="2.12.2")),
VersionConstraint(comparator=">=", version=MavenVersion(string="2.13.0")),
VersionConstraint(comparator="<", version=MavenVersion(string="2.15.0")),
)
)
def test_maven_version_range_from_native_for_multiple_pinned_versions_and_a_range():
version_range = MavenVersionRange.from_native("[2.0] , [2.4.0] , [2.13.0,2.15.0)")
assert version_range == MavenVersionRange(
constraints=(
VersionConstraint(comparator="=", version=MavenVersion(string="2.0")),
VersionConstraint(comparator="=", version=MavenVersion(string="2.4.0")),
VersionConstraint(comparator=">=", version=MavenVersion(string="2.13.0")),
VersionConstraint(comparator="<", version=MavenVersion(string="2.15.0")),
)
)