diff --git a/api4jenkins/__init__.py b/api4jenkins/__init__.py index 80fe55b..44a7a57 100644 --- a/api4jenkins/__init__.py +++ b/api4jenkins/__init__.py @@ -229,7 +229,7 @@ def exists(self): :returns: True or False ''' try: - self.handle_req('GET', '') + self._request('HEAD', self.url) return True except Exception as e: return isinstance(e, (AuthenticationError, PermissionError)) @@ -389,7 +389,7 @@ def _resolve_name(self, full_name): async def exists(self): try: - await self.handle_req('GET', '') + await self._request('HEAD', self.url) return True except Exception as e: return isinstance(e, (AuthenticationError, PermissionError)) diff --git a/tests/unit/test_jenkins.py b/tests/unit/test_jenkins.py index 4119b7f..d1dc418 100644 --- a/tests/unit/test_jenkins.py +++ b/tests/unit/test_jenkins.py @@ -1,10 +1,11 @@ import weakref import pytest + from api4jenkins import Jenkins from api4jenkins.exceptions import BadRequestError, ItemNotFoundError from api4jenkins.item import new_item, snake -from api4jenkins.job import AsyncFolder, AsyncWorkflowJob, WorkflowJob, Folder +from api4jenkins.job import AsyncFolder, AsyncWorkflowJob, Folder, WorkflowJob class TestJenkins: @@ -128,7 +129,7 @@ def test__name2url(self, jenkins, name, url_entry): @pytest.mark.parametrize('status, exist', [(403, True), (200, True), (404, False), (500, False)]) def test_exists(self, jenkins, respx_mock, status, exist): - respx_mock.get(jenkins.url).respond(status) + respx_mock.head(jenkins.url).respond(status) assert jenkins.exists() == exist def test_iter_jobs(self, jenkins): @@ -288,7 +289,7 @@ async def test__name2url(self, async_jenkins, name, url_entry): @pytest.mark.parametrize('status, exist', [(403, True), (200, True), (404, False), (500, False)]) async def test_exists(self, async_jenkins, respx_mock, status, exist): - respx_mock.get(async_jenkins.url).respond(status) + respx_mock.head(async_jenkins.url).respond(status) assert await async_jenkins.exists() == exist async def test_iter_jobs(self, async_jenkins):