My code tries to make HTTP requests to Gitlab API to make different actions such as create projects, branches, milestones etc. I'm not using external modules like requests because I want to keep my project free of dependencies and I haven't found the need to import any so far. That said I'm trying to assert what my HTTPS Connection requests with a mock in my tests in this way: gitlab_requests_tests.py def test_project_creation(self): connection = http.client.HTTPSConnection("gitlab.com") r = urllib.request.Request( method="POST", url="https://gitlab.com/api/v4/projects", headers={ "PRIVATE-TOKEN": os.environ.get("ACCESS_TOKEN"), "name": Path.cwd().name }, ) glab_requests.create_project(connection) with patch("http.client.HTTPSConnection.request") as https_mock: https_mock.assert_called_with(r) Which tests this code: gitlab_requests.py def create_project(connection: http.client.HTTPSConnection): header={ "PRIVATE-TOKEN": os.getenv("ACCESS_TOKEN", default="*"), "name": Path.cwd().name } if re.search(r"[^\w-]", os.getenv("ACCESS_TOKEN", default="*")): raise GlabRequestException("Invalid Access token format") connection.request("POST", "/api/v4/projects", headers=header) I know that I asserting my request with url.request.Request isn't the right way to do because it creates a different request object to the one I'm calling from my source code. How can I assert my request? What am I missing/doing wrong? Continue reading...