33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
import requests
|
|
import json
|
|
|
|
|
|
def mocked_requests_get(*args, **kwargs):
|
|
class MockedResponse:
|
|
def __init__(self, json_data, status_code):
|
|
self.json_data = json_data
|
|
self.status_code = status_code
|
|
|
|
def json(self):
|
|
return json.loads(self.json_data)
|
|
|
|
def raise_for_status(self):
|
|
if self.status_code not in [200, 201]:
|
|
raise requests.exceptions.HTTPError()
|
|
|
|
if "pulls" in args[0]:
|
|
pr = args[0].split("/")[-1]
|
|
with open(f"tests/fixtures/pulls_{pr}.json") as f:
|
|
data = f.read()
|
|
return MockedResponse(data, 200)
|
|
elif "compare" in args[0]:
|
|
branch, commit_sha = args[0].split("/")[-1].split("...")
|
|
with open(f"tests/fixtures/compare_{branch}_{commit_sha}.json") as f:
|
|
data = f.read()
|
|
return MockedResponse(data, 200)
|
|
elif "comments" in args[0]:
|
|
pr = args[0].split("/")[-2]
|
|
with open(f"tests/fixtures/comments_{pr}.json") as f:
|
|
data = f.read()
|
|
return MockedResponse(data, 200)
|