From 9225bd6b44b03c84e61eee5868994a7aa3511acd Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Wed, 30 Jul 2025 13:57:06 -0400 Subject: [PATCH 1/2] avoid loading system hub config in unit test --- tests/test_hub/test_client_session.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/test_hub/test_client_session.py b/tests/test_hub/test_client_session.py index 750132f7..7cfb05a1 100644 --- a/tests/test_hub/test_client_session.py +++ b/tests/test_hub/test_client_session.py @@ -1,5 +1,7 @@ import io import mock +import shutil +import tempfile import time import unittest @@ -20,6 +22,7 @@ class FakeClient(koji.ClientSession): def __init__(self, baseurl, opts=None, sinfo=None, auth_method=None): super(FakeClient, self).__init__(baseurl, opts=opts, sinfo=sinfo, auth_method=auth_method) + self._test_hub_cfg = None def new_session(self): self.rsession = FakeReqSession(self) @@ -56,6 +59,8 @@ class FakeReqSession: environ['REMOTE_ADDR'] = '127.0.0.1' environ['REQUEST_METHOD'] = 'POST' environ['CONTENT_TYPE'] = 'text/xml' + cfg = self.client_session._test_hub_cfg + environ['koji.hub.ConfigFile'] = cfg for k in headers: k2 = 'HTTP_' + k.upper().replace('-', '_') @@ -94,9 +99,17 @@ QP = db.QueryProcessor class TestClientSession(unittest.TestCase): def setUp(self): + self.tempdir = tempfile.mkdtemp() self.context = mock.MagicMock() self.context.session.assertLogin = mock.MagicMock() + + # set up fake session self.session = FakeClient('https://bad.server/') + cfg = '%s/hub.conf' % self.tempdir + with open(cfg, 'wt') as fp: + fp.write('[hub]\n#the end\n') + self.session._test_hub_cfg = cfg + self.QueryProcessor = mock.patch('kojihub.auth.QueryProcessor', side_effect=self.getQuery).start() self._dml = mock.patch('kojihub.db._dml').start() @@ -108,6 +121,7 @@ class TestClientSession(unittest.TestCase): def tearDown(self): mock.patch.stopall() + shutil.rmtree(self.tempdir) def getQuery(self, *args, **kwargs): query = QP(*args, **kwargs) From c8c1e65f773253fcdb5d910670e6de2ab258c896 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Fri, 1 Aug 2025 08:41:03 -0400 Subject: [PATCH 2/2] fix mock import --- tests/test_hub/test_client_session.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_hub/test_client_session.py b/tests/test_hub/test_client_session.py index 7cfb05a1..6f6df7e2 100644 --- a/tests/test_hub/test_client_session.py +++ b/tests/test_hub/test_client_session.py @@ -1,10 +1,11 @@ import io -import mock import shutil import tempfile import time import unittest +from unittest import mock + import koji from kojihub import kojixmlrpc, db from koji.xmlrpcplus import Fault