33import sys
44
55import pytest
6-
76from policyengine_api .constants import (
87 COUNTRY_PACKAGE_VERSIONS ,
98 POLICYENGINE_CORE_VERSION ,
109 POLICYENGINE_VERSION ,
1110 REGION_PREFIXES ,
1211 UK_REGION_TYPES ,
1312 US_REGION_TYPES ,
14- get_py_manifest ,
1513 _load_policyengine_bundle ,
1614 _normalize_distribution_name ,
1715 _resolve_distribution_version ,
16+ get_py_manifest ,
1817)
1918
2019
@@ -126,6 +125,23 @@ def test__resolve_distribution_version_falls_back_to_default(self):
126125
127126
128127class TestPolicyEngineBundleVersions :
128+ @staticmethod
129+ def _expected_bundle_versions () -> dict [str , str ]:
130+ manifest = json .loads (get_py_manifest ().read_text (encoding = "utf-8" ))
131+ packages = manifest ["packages" ]
132+ normalized_packages = {
133+ _normalize_distribution_name (package .get ("name" ) or package_key ): package
134+ for package_key , package in packages .items ()
135+ }
136+ return {
137+ "policyengine" : str (
138+ manifest .get ("policyengine_version" ) or manifest .get ("bundle_version" )
139+ ),
140+ "core" : str (normalized_packages ["policyengine-core" ]["version" ]),
141+ "us" : str (normalized_packages ["policyengine-us" ]["version" ]),
142+ "uk" : str (normalized_packages ["policyengine-uk" ]["version" ]),
143+ }
144+
129145 def test__get_py_manifest_returns_packaged_manifest_path (self ):
130146 manifest_path = get_py_manifest ()
131147
@@ -173,12 +189,7 @@ def find_spec(self, fullname, path=None, target=None):
173189 )
174190
175191 assert result .returncode == 0 , result .stderr
176- assert json .loads (result .stdout ) == {
177- "policyengine" : "4.18.3" ,
178- "core" : "3.27.1" ,
179- "us" : "1.729.0" ,
180- "uk" : "2.89.2" ,
181- }
192+ assert json .loads (result .stdout ) == self ._expected_bundle_versions ()
182193
183194 def test__load_policyengine_bundle_rejects_missing_manifest (
184195 self , monkeypatch , tmp_path
@@ -205,7 +216,8 @@ def test__load_policyengine_bundle_rejects_non_object_manifest(
205216 _load_policyengine_bundle ()
206217
207218 def test__uses_policyengine_bundle_versions_for_us_uk_and_core (self ):
208- assert POLICYENGINE_VERSION == "4.18.3"
209- assert POLICYENGINE_CORE_VERSION == "3.27.1"
210- assert COUNTRY_PACKAGE_VERSIONS ["us" ] == "1.729.0"
211- assert COUNTRY_PACKAGE_VERSIONS ["uk" ] == "2.89.2"
219+ expected_versions = self ._expected_bundle_versions ()
220+ assert POLICYENGINE_VERSION == expected_versions ["policyengine" ]
221+ assert POLICYENGINE_CORE_VERSION == expected_versions ["core" ]
222+ assert COUNTRY_PACKAGE_VERSIONS ["us" ] == expected_versions ["us" ]
223+ assert COUNTRY_PACKAGE_VERSIONS ["uk" ] == expected_versions ["uk" ]
0 commit comments