MCPcopy
hub / github.com/marimo-team/marimo / test_make_request

Function test_make_request

tests/_utils/test_utils_request.py:111–167  ·  view source on GitHub ↗
(
    method: str,
    url: str,
    params: dict[str, str] | None,
    headers: dict[str, str] | None,
    data: dict[str, Any] | str | None,
    json_data: dict[str, Any] | None,
    expected_body: bytes,
    expected_headers: dict[str, str],
)

Source from the content-addressed store, hash-verified

109 ],
110)
111def test_make_request(
112 method: str,
113 url: str,
114 params: dict[str, str] | None,
115 headers: dict[str, str] | None,
116 data: dict[str, Any] | str | None,
117 json_data: dict[str, Any] | None,
118 expected_body: bytes,
119 expected_headers: dict[str, str],
120):
121 mock_response = MagicMock()
122 mock_response.getcode.return_value = 200
123 mock_response.read.return_value = b'{"key": "value"}'
124 mock_response.headers = {"Content-Type": "application/json"}
125 mock_response.__enter__.return_value = mock_response
126 mock_response.__exit__.return_value = None
127
128 with patch(
129 "urllib.request.urlopen", return_value=mock_response
130 ) as mock_urlopen:
131 response = _make_request(
132 method,
133 url,
134 params=params,
135 headers=headers,
136 data=data,
137 json_data=json_data,
138 )
139
140 # Verify request was made
141 mock_urlopen.assert_called_once()
142 request_arg = mock_urlopen.call_args[0][0]
143
144 # Check method and URL
145 assert request_arg.get_method() == method
146 if params:
147 assert "param=value" in request_arg.full_url
148
149 # Check body
150 assert request_arg.data == expected_body
151
152 # Check headers
153 for key, value in expected_headers.items():
154 # urllib.request.Request normalizes header names to Title-case
155 # We need to check the actual header values as they're stored
156 found_header = False
157 for header_name, header_value in request_arg.headers.items():
158 if header_name.lower() == key.lower():
159 assert header_value == value
160 found_header = True
161 break
162 assert found_header, f"Header {key} not found in request headers"
163
164 # Verify response
165 assert response.status_code == 200
166 assert response.content == b'{"key": "value"}'
167 assert response.headers == {"Content-Type": "application/json"}
168

Callers

nothing calls this directly

Calls 2

_make_requestFunction · 0.90
itemsMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…