mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 19:59:50 +08:00
74f58f29f9
Some checks are pending
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Waiting to run
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Waiting to run
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Blocked by required conditions
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Blocked by required conditions
35 lines
930 B
Python
35 lines
930 B
Python
import json
|
|
from typing import Literal
|
|
|
|
import httpx
|
|
import pytest
|
|
from _pytest.monkeypatch import MonkeyPatch
|
|
|
|
|
|
class MockedHttp:
|
|
@staticmethod
|
|
def httpx_request(
|
|
method: Literal["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD"], url: str, **kwargs
|
|
) -> httpx.Response:
|
|
"""
|
|
Mocked httpx.request
|
|
"""
|
|
request = httpx.Request(
|
|
method, url, params=kwargs.get("params"), headers=kwargs.get("headers"), cookies=kwargs.get("cookies")
|
|
)
|
|
data = kwargs.get("data")
|
|
resp = json.dumps(data).encode("utf-8") if data else b"OK"
|
|
response = httpx.Response(
|
|
status_code=200,
|
|
request=request,
|
|
content=resp,
|
|
)
|
|
return response
|
|
|
|
|
|
@pytest.fixture
|
|
def setup_http_mock(request, monkeypatch: MonkeyPatch):
|
|
monkeypatch.setattr(httpx, "request", MockedHttp.httpx_request)
|
|
yield
|
|
monkeypatch.undo()
|