Download tests/unit/test_wire_codec_mapping.py from jlshu/vproxy: direct link, hf CLI and curl.
- Browser
- Download file 2.49 kB
-
https://huggingface.co/spaces/jlshu/vproxy/resolve/main/tests/unit/test_wire_codec_mapping.py
- Command line
-
hf download hf://spaces/jlshu/vproxy/tests/unit/test_wire_codec_mapping.py
-
curl -L -o test_wire_codec_mapping.py https://huggingface.co/spaces/jlshu/vproxy/resolve/main/tests/unit/test_wire_codec_mapping.py
2.49 kB
| from pathlib import Path | |
| from aistudio_api.infrastructure.gateway.wire_codec import AistudioWireCodec | |
| from aistudio_api.infrastructure.gateway.wire_types import ( | |
| AistudioGenerationConfig, | |
| AistudioImageOutputMode, | |
| AistudioThinkingConfig, | |
| MediaResolution, | |
| ThinkingLevel, | |
| ) | |
| ROOT = Path(__file__).resolve().parents[1] | |
| def test_decode_image_request_maps_generation_config_fields_from_proto_indexes(): | |
| codec = AistudioWireCodec() | |
| raw = (ROOT / "test-image-input.json").read_text() | |
| request = codec.decode(raw) | |
| assert request.model == "models/gemini-3.1-flash-image-preview" | |
| assert request.generation_config.stop_sequences == ["6"] | |
| assert request.generation_config.max_tokens == 65536 | |
| assert request.generation_config.temperature == 1 | |
| assert request.generation_config.top_p == 0.95 | |
| assert request.generation_config.top_k == 64 | |
| assert request.generation_config.image_output_mode == [2, 1] | |
| assert request.generation_config.thinking_config == [1, None, None, 3] | |
| assert request.request_flag == 1 | |
| assert request.cached_content.startswith("v1_") | |
| def test_encode_preserves_newly_mapped_proto_fields(): | |
| codec = AistudioWireCodec() | |
| raw = (ROOT / "test-image-input.json").read_text() | |
| request = codec.decode(raw) | |
| encoded = codec.encode(request) | |
| reparsed = codec.decode(encoded) | |
| assert reparsed.generation_config.stop_sequences == ["6"] | |
| assert reparsed.generation_config.image_output_mode == [2, 1] | |
| assert reparsed.generation_config.thinking_config == [1, None, None, 3] | |
| assert reparsed.request_flag == 1 | |
| assert reparsed.cached_content == request.cached_content | |
| def test_thinking_config_encodes_high_level_wire_shape(): | |
| assert AistudioThinkingConfig(ThinkingLevel.HIGH).to_wire() == [1, None, None, 3] | |
| def test_generation_config_enables_default_thinking(): | |
| config = AistudioGenerationConfig([]) | |
| config.enable_default_thinking() | |
| assert config.thinking_config == [1, None, None, 3] | |
| assert config.media_resolution is None | |
| def test_generation_config_accepts_readable_image_output_mode_wrapper(): | |
| config = AistudioGenerationConfig([]) | |
| config.image_output_mode = AistudioImageOutputMode.text_and_image() | |
| assert config.image_output_mode == [2, 1] | |
| def test_generation_config_accepts_media_resolution_enum(): | |
| config = AistudioGenerationConfig([]) | |
| config.media_resolution = MediaResolution.MEDIUM | |
| assert config.media_resolution == 2 | |