diff --git a/osclib/stagingapi.py b/osclib/stagingapi.py index de7ba3d7..83b2ced9 100644 --- a/osclib/stagingapi.py +++ b/osclib/stagingapi.py @@ -885,7 +885,8 @@ class StagingAPI(object): tz_info = freezetime.tzinfo return (datetime.now(tz_info) - freezetime).total_seconds() / 3600 / 24 # fallback: old method - root = ET.fromstring(self._fetch_project_meta(project)) + url = self.makeurl(['source', project, '_project'], {'meta': '1'}) + root = ET.parse(http_GET(url)) for entry in root.findall('entry'): if entry.get('name') == '_frozenlinks': return (time.time() - float(entry.get('mtime'))) / 3600 / 24 diff --git a/tests/api_tests.py b/tests/api_tests.py index abd0290c..c5ae5178 100644 --- a/tests/api_tests.py +++ b/tests/api_tests.py @@ -1,7 +1,5 @@ - import osc.core - -from mock import MagicMock +from osclib.core import attribute_value_delete, attribute_value_save from . import OBSLocal @@ -181,7 +179,7 @@ class TestApiCalls(OBSLocal.TestCase): self.wf.create_staging('B', freeze=True, rings=1) self.assertLess(self.wf.api.days_since_last_freeze('openSUSE:Factory:Staging:B'), 1) - self.mock_project_meta() + attribute_value_save(self.wf.apiurl, 'openSUSE:Factory:Staging:B', 'FreezeTime', "2021-03-04T10:23:55.127903") self.assertGreater(self.wf.api.days_since_last_freeze('openSUSE:Factory:Staging:B'), 8) def test_frozen_enough(self): @@ -198,16 +196,13 @@ class TestApiCalls(OBSLocal.TestCase): self.wf.create_staging('C', freeze=True, rings=1) self.assertEqual(self.wf.api.prj_frozen_enough('openSUSE:Factory:Staging:C'), True) - self.mock_project_meta() + # pretend it's old + attribute_value_save(self.wf.apiurl, 'openSUSE:Factory:Staging:C', 'FreezeTime', "2021-03-04T10:23:55.127903") self.assertEqual(self.wf.api.prj_frozen_enough('openSUSE:Factory:Staging:C'), False) - def mock_project_meta(self): - body = """ - - - """ - - self.wf.api._fetch_project_meta = MagicMock(return_value=body) + # test old method (which still shows it's recent) + attribute_value_delete(self.wf.apiurl, 'openSUSE:Factory:Staging:C', 'FreezeTime') + self.assertEqual(self.wf.api.prj_frozen_enough('openSUSE:Factory:Staging:C'), True) def test_move(self): """Test package movement."""