| 456 | |
| 457 | @pytest.mark.respx(base_url=base_url) |
| 458 | def test_basic_union_response(self, respx_mock: MockRouter) -> None: |
| 459 | class Model1(BaseModel): |
| 460 | name: str |
| 461 | |
| 462 | class Model2(BaseModel): |
| 463 | foo: str |
| 464 | |
| 465 | respx_mock.get("/foo").mock(return_value=httpx.Response(200, json={"foo": "bar"})) |
| 466 | |
| 467 | response = self.client.get("/foo", cast_to=cast(Any, Union[Model1, Model2])) |
| 468 | assert isinstance(response, Model2) |
| 469 | assert response.foo == "bar" |
| 470 | |
| 471 | @pytest.mark.respx(base_url=base_url) |
| 472 | def test_union_response_different_types(self, respx_mock: MockRouter) -> None: |