MCPcopy
hub / github.com/encode/starlette / test_formdata

Function test_formdata

tests/test_datastructures.py:426–446  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

424
425
426def test_formdata() -> None:
427 stream = io.BytesIO(b"data")
428 upload = UploadFile(filename="file", file=stream, size=4)
429 form = FormData([("a", "123"), ("a", "456"), ("b", upload)])
430 assert "a" in form
431 assert "A" not in form
432 assert "c" not in form
433 assert form["a"] == "456"
434 assert form.get("a") == "456"
435 assert form.get("nope", None) is None
436 assert form.getlist("a") == ["123", "456"]
437 assert list(form.keys()) == ["a", "b"]
438 assert list(form.values()) == ["456", upload]
439 assert list(form.items()) == [("a", "456"), ("b", upload)]
440 assert len(form) == 2
441 assert list(form) == ["a", "b"]
442 assert dict(form) == {"a": "456", "b": upload}
443 assert repr(form) == "FormData([('a', '123'), ('a', '456'), ('b', " + repr(upload) + ")])"
444 assert FormData(form) == form
445 assert FormData({"a": "123", "b": "789"}) == FormData([("a", "123"), ("b", "789")])
446 assert FormData({"a": "123", "b": "789"}) != {"a": "123", "b": "789"}
447
448
449@pytest.mark.anyio

Callers

nothing calls this directly

Calls 7

UploadFileClass · 0.90
FormDataClass · 0.90
getMethod · 0.45
getlistMethod · 0.45
keysMethod · 0.45
valuesMethod · 0.45
itemsMethod · 0.45

Tested by

no test coverage detected