2222from google .api_core ._python_package_support import (
2323 get_dependency_version ,
2424 warn_deprecation_for_versions_less_than ,
25+ DependencyVersion ,
2526)
2627
2728
3233def test_get_dependency_version_py38_plus (mock_version ):
3334 """Test get_dependency_version on Python 3.8+."""
3435 mock_version .return_value = "1.2.3"
35- assert get_dependency_version ("some-package" ) == (parse_version ("1.2.3" ), "1.2.3" )
36+ expected = DependencyVersion (parse_version ("1.2.3" ), "1.2.3" )
37+ assert get_dependency_version ("some-package" ) == expected
3638 mock_version .assert_called_once_with ("some-package" )
3739
3840 # Test package not found
3941 mock_version .side_effect = ImportError
40- assert get_dependency_version ("not-a-package" ) == (None , "--" )
42+ assert get_dependency_version ("not-a-package" ) == DependencyVersion (None , "--" )
4143
4244
4345# TODO(https://github.com/googleapis/python-api-core/issues/835): Remove
@@ -49,17 +51,15 @@ def test_get_dependency_version_py37(mock_get_distribution):
4951 mock_dist = MagicMock ()
5052 mock_dist .version = "4.5.6"
5153 mock_get_distribution .return_value = mock_dist
52- assert get_dependency_version ("another-package" ) == (
53- parse_version ("4.5.6" ),
54- "4.5.6" ,
55- )
54+ expected = DependencyVersion (parse_version ("4.5.6" ), "4.5.6" )
55+ assert get_dependency_version ("another-package" ) == expected
5656 mock_get_distribution .assert_called_once_with ("another-package" )
5757
5858 # Test package not found
5959 mock_get_distribution .side_effect = (
6060 Exception # pkg_resources has its own exception types
6161 )
62- assert get_dependency_version ("not-a-package" ) == (None , "--" )
62+ assert get_dependency_version ("not-a-package" ) == DependencyVersion (None , "--" )
6363
6464
6565@patch ("google.api_core._python_package_support._get_distribution_and_import_packages" )
@@ -72,7 +72,7 @@ def test_warn_deprecation_for_versions_less_than(mock_get_version, mock_get_pack
7272 ("my-package (my.package)" , "my-package" ),
7373 ]
7474
75- mock_get_version .return_value = (parse_version ("1.0.0" ), "1.0.0" )
75+ mock_get_version .return_value = DependencyVersion (parse_version ("1.0.0" ), "1.0.0" )
7676 with pytest .warns (FutureWarning ) as record :
7777 warn_deprecation_for_versions_less_than ("my.package" , "dep.package" , "2.0.0" )
7878 assert len (record ) == 1
@@ -87,17 +87,21 @@ def test_warn_deprecation_for_versions_less_than(mock_get_version, mock_get_pack
8787
8888 # Case 2: Installed version is equal to required, should not warn.
8989 mock_get_packages .reset_mock ()
90- mock_get_version .return_value = (parse_version ("2.0.0" ), "2.0.0" )
90+ mock_get_version .return_value = DependencyVersion (
91+ parse_version ("2.0.0" ), "2.0.0"
92+ )
9193 warn_deprecation_for_versions_less_than ("my.package" , "dep.package" , "2.0.0" )
9294
9395 # Case 3: Installed version is greater than required, should not warn.
9496 mock_get_packages .reset_mock ()
95- mock_get_version .return_value = (parse_version ("3.0.0" ), "3.0.0" )
97+ mock_get_version .return_value = DependencyVersion (
98+ parse_version ("3.0.0" ), "3.0.0"
99+ )
96100 warn_deprecation_for_versions_less_than ("my.package" , "dep.package" , "2.0.0" )
97101
98102 # Case 4: Dependency not found, should not warn.
99103 mock_get_packages .reset_mock ()
100- mock_get_version .return_value = (None , "--" )
104+ mock_get_version .return_value = DependencyVersion (None , "--" )
101105 warn_deprecation_for_versions_less_than ("my.package" , "dep.package" , "2.0.0" )
102106
103107 # Assert that no warnings were recorded
@@ -109,7 +113,7 @@ def test_warn_deprecation_for_versions_less_than(mock_get_version, mock_get_pack
109113 ("dep-package (dep.package)" , "dep-package" ),
110114 ("my-package (my.package)" , "my-package" ),
111115 ]
112- mock_get_version .return_value = (parse_version ("1.0.0" ), "1.0.0" )
116+ mock_get_version .return_value = DependencyVersion (parse_version ("1.0.0" ), "1.0.0" )
113117 template = "Custom warning for {dependency_package} used by {dependent_package}."
114118 with pytest .warns (FutureWarning ) as record :
115119 warn_deprecation_for_versions_less_than (
0 commit comments