mirror of
https://github.com/ollama/ollama-python.git
synced 2026-05-03 12:52:35 +00:00
Add custom serializer for CreateRequest + tests
This commit is contained in:
@@ -2,7 +2,7 @@ from base64 import b64encode
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
from ollama._types import Image
|
||||
from ollama._types import CreateRequest, Image
|
||||
import tempfile
|
||||
|
||||
|
||||
@@ -52,3 +52,67 @@ def test_image_serialization_string_path():
|
||||
with pytest.raises(ValueError):
|
||||
img = Image(value='not an image')
|
||||
img.model_dump()
|
||||
|
||||
|
||||
|
||||
|
||||
def test_create_request_serialization():
|
||||
request = CreateRequest(
|
||||
model="test-model",
|
||||
from_="base-model",
|
||||
quantize="q4_0",
|
||||
files={"file1": "content1"},
|
||||
adapters={"adapter1": "content1"},
|
||||
template="test template",
|
||||
license="MIT",
|
||||
system="test system",
|
||||
parameters={"param1": "value1"}
|
||||
)
|
||||
|
||||
serialized = request.model_dump()
|
||||
assert serialized["from"] == "base-model"
|
||||
assert "from_" not in serialized
|
||||
assert serialized["quantize"] == "q4_0"
|
||||
assert serialized["files"] == {"file1": "content1"}
|
||||
assert serialized["adapters"] == {"adapter1": "content1"}
|
||||
assert serialized["template"] == "test template"
|
||||
assert serialized["license"] == "MIT"
|
||||
assert serialized["system"] == "test system"
|
||||
assert serialized["parameters"] == {"param1": "value1"}
|
||||
|
||||
|
||||
|
||||
def test_create_request_serialization_exclude_none_true():
|
||||
request = CreateRequest(
|
||||
model="test-model",
|
||||
from_=None,
|
||||
quantize=None
|
||||
)
|
||||
serialized = request.model_dump(exclude_none=True)
|
||||
assert serialized == {"model": "test-model"}
|
||||
assert "from" not in serialized
|
||||
assert "from_" not in serialized
|
||||
assert "quantize" not in serialized
|
||||
|
||||
|
||||
def test_create_request_serialization_exclude_none_false():
|
||||
request = CreateRequest(
|
||||
model="test-model",
|
||||
from_=None,
|
||||
quantize=None
|
||||
)
|
||||
serialized = request.model_dump(exclude_none=False)
|
||||
assert "from" in serialized
|
||||
assert "quantize" in serialized
|
||||
assert "adapters" in serialized
|
||||
assert "from_" not in serialized
|
||||
|
||||
|
||||
def test_create_request_serialization_license_list():
|
||||
request = CreateRequest(
|
||||
model="test-model",
|
||||
license=["MIT", "Apache-2.0"]
|
||||
)
|
||||
serialized = request.model_dump()
|
||||
assert serialized["license"] == ["MIT", "Apache-2.0"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user