|
|
|
@@ -0,0 +1,61 @@ |
|
|
|
from core.app.app_config.features.file_upload.manager import FileUploadConfigManager |
|
|
|
from core.file.models import FileTransferMethod, FileUploadConfig, ImageConfig |
|
|
|
from core.model_runtime.entities.message_entities import ImagePromptMessageContent |
|
|
|
|
|
|
|
|
|
|
|
def test_convert_with_vision(): |
|
|
|
config = { |
|
|
|
"file_upload": { |
|
|
|
"enabled": True, |
|
|
|
"number_limits": 5, |
|
|
|
"allowed_file_upload_methods": [FileTransferMethod.REMOTE_URL], |
|
|
|
"image": {"detail": "high"}, |
|
|
|
} |
|
|
|
} |
|
|
|
result = FileUploadConfigManager.convert(config, is_vision=True) |
|
|
|
expected = FileUploadConfig( |
|
|
|
image_config=ImageConfig( |
|
|
|
number_limits=5, |
|
|
|
transfer_methods=[FileTransferMethod.REMOTE_URL], |
|
|
|
detail=ImagePromptMessageContent.DETAIL.HIGH, |
|
|
|
) |
|
|
|
) |
|
|
|
assert result == expected |
|
|
|
|
|
|
|
|
|
|
|
def test_convert_without_vision(): |
|
|
|
config = { |
|
|
|
"file_upload": { |
|
|
|
"enabled": True, |
|
|
|
"number_limits": 5, |
|
|
|
"allowed_file_upload_methods": [FileTransferMethod.REMOTE_URL], |
|
|
|
} |
|
|
|
} |
|
|
|
result = FileUploadConfigManager.convert(config, is_vision=False) |
|
|
|
expected = FileUploadConfig( |
|
|
|
image_config=ImageConfig(number_limits=5, transfer_methods=[FileTransferMethod.REMOTE_URL]) |
|
|
|
) |
|
|
|
assert result == expected |
|
|
|
|
|
|
|
|
|
|
|
def test_validate_and_set_defaults(): |
|
|
|
config = {} |
|
|
|
result, keys = FileUploadConfigManager.validate_and_set_defaults(config) |
|
|
|
assert "file_upload" in result |
|
|
|
assert keys == ["file_upload"] |
|
|
|
|
|
|
|
|
|
|
|
def test_validate_and_set_defaults_with_existing_config(): |
|
|
|
config = { |
|
|
|
"file_upload": { |
|
|
|
"enabled": True, |
|
|
|
"number_limits": 5, |
|
|
|
"allowed_file_upload_methods": [FileTransferMethod.REMOTE_URL], |
|
|
|
} |
|
|
|
} |
|
|
|
result, keys = FileUploadConfigManager.validate_and_set_defaults(config) |
|
|
|
assert "file_upload" in result |
|
|
|
assert keys == ["file_upload"] |
|
|
|
assert result["file_upload"]["enabled"] is True |
|
|
|
assert result["file_upload"]["number_limits"] == 5 |
|
|
|
assert result["file_upload"]["allowed_file_upload_methods"] == [FileTransferMethod.REMOTE_URL] |