Skip to content

Commit bb3b4f2

Browse files
committed
fix: sanitize compute default version ref
1 parent f8fff60 commit bb3b4f2

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

workflowai/core/client/_client.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,10 @@ def _compute_default_version_reference() -> VersionReference:
4444
if version in {"dev", "staging", "production"}:
4545
return version # pyright: ignore [reportReturnType]
4646

47-
if isinstance(version, int):
48-
return version
47+
try:
48+
return int(version)
49+
except ValueError:
50+
pass
4951

5052
_logger.warning("Invalid default version: %s", version)
5153

workflowai/core/client/_client_test.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import importlib.metadata
22
import json
3-
from typing import AsyncIterator
3+
from typing import Any, AsyncIterator
44
from unittest.mock import AsyncMock, patch
55

66
import pytest
@@ -9,7 +9,10 @@
99
from tests.models.hello_task import HelloTask, HelloTaskInput, HelloTaskNotOptional, HelloTaskOutput
1010
from tests.utils import fixtures_json
1111
from workflowai.core.client import Client
12-
from workflowai.core.client._client import WorkflowAIClient
12+
from workflowai.core.client._client import (
13+
WorkflowAIClient,
14+
_compute_default_version_reference, # pyright: ignore [reportPrivateUsage]
15+
)
1316
from workflowai.core.domain.task_run import Run
1417

1518

@@ -261,3 +264,12 @@ def fn(task_input: HelloTaskInput) -> AsyncIterator[HelloTaskOutput]: ...
261264
HelloTaskOutput(message="hello"),
262265
HelloTaskOutput(message="hello"),
263266
]
267+
268+
269+
@pytest.mark.parametrize(
270+
("env_var", "expected"),
271+
[("p", "production"), ("production", "production"), ("dev", "dev"), ("staging", "staging"), ("1", 1)],
272+
)
273+
def test_compute_default_version_reference(env_var: str, expected: Any):
274+
with patch.dict("os.environ", {"WORKFLOWAI_DEFAULT_VERSION": env_var}):
275+
assert _compute_default_version_reference() == expected

0 commit comments

Comments
 (0)