32
32
def test_get_dependency_version_py38_plus (mock_version ):
33
33
"""Test get_dependency_version on Python 3.8+."""
34
34
mock_version .return_value = "1.2.3"
35
- assert get_dependency_version ("some-package" ) == parse_version ("1.2.3" )
35
+ assert get_dependency_version ("some-package" ) == ( parse_version ("1.2.3" ), "1.2.3" )
36
36
mock_version .assert_called_once_with ("some-package" )
37
37
38
38
# Test package not found
39
39
mock_version .side_effect = ImportError
40
- assert get_dependency_version ("not-a-package" ) is None
40
+ assert get_dependency_version ("not-a-package" ) == ( None , "--" )
41
41
42
42
43
43
# TODO(https://github.com/googleapis/python-api-core/issues/835): Remove
@@ -49,14 +49,14 @@ def test_get_dependency_version_py37(mock_get_distribution):
49
49
mock_dist = MagicMock ()
50
50
mock_dist .version = "4.5.6"
51
51
mock_get_distribution .return_value = mock_dist
52
- assert get_dependency_version ("another-package" ) == parse_version ("4.5.6" )
52
+ assert get_dependency_version ("another-package" ) == ( parse_version ("4.5.6" ), "4.5.6" )
53
53
mock_get_distribution .assert_called_once_with ("another-package" )
54
54
55
55
# Test package not found
56
56
mock_get_distribution .side_effect = (
57
57
Exception # pkg_resources has its own exception types
58
58
)
59
- assert get_dependency_version ("not-a-package" ) is None
59
+ assert get_dependency_version ("not-a-package" ) == ( None , "--" )
60
60
61
61
62
62
@patch ("google.api_core._python_package_support._get_distribution_and_import_packages" )
@@ -71,9 +71,8 @@ def test_warn_deprecation_for_versions_less_than(
71
71
("my-package (my.package)" , "my-package" ),
72
72
]
73
73
74
- # Case 1: Installed version is less than required, should warn.
75
- mock_get_version .return_value = parse_version ("1.0.0" )
76
- with pytest .warns (UserWarning ) as record :
74
+ mock_get_version .return_value = (parse_version ("1.0.0" ), "1.0.0" )
75
+ with pytest .warns (FutureWarning ) as record :
77
76
warn_deprecation_for_versions_less_than ("my.package" , "dep.package" , "2.0.0" )
78
77
assert len (record ) == 1
79
78
assert (
@@ -87,17 +86,17 @@ def test_warn_deprecation_for_versions_less_than(
87
86
88
87
# Case 2: Installed version is equal to required, should not warn.
89
88
mock_get_packages .reset_mock ()
90
- mock_get_version .return_value = parse_version ("2.0.0" )
89
+ mock_get_version .return_value = ( parse_version ("2.0.0" ), "2.0.0" )
91
90
warn_deprecation_for_versions_less_than ("my.package" , "dep.package" , "2.0.0" )
92
91
93
92
# Case 3: Installed version is greater than required, should not warn.
94
93
mock_get_packages .reset_mock ()
95
- mock_get_version .return_value = parse_version ("3.0.0" )
94
+ mock_get_version .return_value = ( parse_version ("3.0.0" ), "3.0.0" )
96
95
warn_deprecation_for_versions_less_than ("my.package" , "dep.package" , "2.0.0" )
97
96
98
97
# Case 4: Dependency not found, should not warn.
99
98
mock_get_packages .reset_mock ()
100
- mock_get_version .return_value = None
99
+ mock_get_version .return_value = ( None , "--" )
101
100
warn_deprecation_for_versions_less_than ("my.package" , "dep.package" , "2.0.0" )
102
101
103
102
# Assert that no warnings were recorded
@@ -109,9 +108,9 @@ def test_warn_deprecation_for_versions_less_than(
109
108
("dep-package (dep.package)" , "dep-package" ),
110
109
("my-package (my.package)" , "my-package" ),
111
110
]
112
- mock_get_version .return_value = parse_version ("1.0.0" )
111
+ mock_get_version .return_value = ( parse_version ("1.0.0" ), "1.0.0" )
113
112
template = "Custom warning for {dependency_package} used by {dependent_package}."
114
- with pytest .warns (UserWarning ) as record :
113
+ with pytest .warns (FutureWarning ) as record :
115
114
warn_deprecation_for_versions_less_than (
116
115
"my.package" , "dep.package" , "2.0.0" , message_template = template
117
116
)
0 commit comments