Skip to content

Commit 3b26f78

Browse files
committed
test: bindings inference decorator
1 parent 48f6264 commit 3b26f78

File tree

3 files changed

+57
-3
lines changed

3 files changed

+57
-3
lines changed

src/uipath/_services/assets_service.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ async def retrieve_async(
128128
@traced(
129129
name="assets_credential", run_type="uipath", hide_input=True, hide_output=True
130130
)
131-
@infer_bindings(resource_type="bucket")
131+
@infer_bindings(resource_type="asset")
132132
def retrieve_credential(
133133
self,
134134
name: str,
@@ -181,7 +181,7 @@ def retrieve_credential(
181181
@traced(
182182
name="assets_credential", run_type="uipath", hide_input=True, hide_output=True
183183
)
184-
@infer_bindings(resource_type="bucket")
184+
@infer_bindings(resource_type="asset")
185185
async def retrieve_credential_async(
186186
self,
187187
name: str,

tests/sdk/test_bindings_inference.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
from unittest.mock import MagicMock, patch
2+
3+
import pytest
4+
5+
from uipath._utils._infer_bindings import infer_bindings
6+
7+
8+
@pytest.fixture
9+
def mock_read_resource_overwrites():
10+
with patch("uipath._utils._infer_bindings.read_resource_overwrites") as mock:
11+
yield mock
12+
13+
14+
class TestBindingsInference:
15+
def test_infer_bindings_overwrites_name_and_folder_path(
16+
self, mock_read_resource_overwrites
17+
):
18+
mock_cm = MagicMock()
19+
mock_cm.__enter__.return_value = ("new_name", "new_folder")
20+
mock_read_resource_overwrites.return_value = mock_cm
21+
22+
@infer_bindings(resource_type="bucket")
23+
def dummy_func(name, folder_path):
24+
return name, folder_path
25+
26+
result = dummy_func("old_name", "old_folder")
27+
assert result == ("new_name", "new_folder")
28+
mock_read_resource_overwrites.assert_called_once_with(
29+
"bucket", "old_name", "old_folder"
30+
)
31+
32+
def test_infer_bindings_skips_when_no_name_and_folder_path(
33+
self, mock_read_resource_overwrites
34+
):
35+
@infer_bindings(resource_type="bucket")
36+
def dummy_func(other_arg):
37+
return other_arg
38+
39+
result = dummy_func("some_value")
40+
assert result == "some_value"
41+
mock_read_resource_overwrites.assert_not_called()
42+
43+
def test_infer_bindings_only_name_present(self, mock_read_resource_overwrites):
44+
mock_cm = MagicMock()
45+
mock_cm.__enter__.return_value = ("new_name", None)
46+
mock_read_resource_overwrites.return_value = mock_cm
47+
48+
@infer_bindings(resource_type="asset")
49+
def dummy_func(name, folder_path=None):
50+
return name, folder_path
51+
52+
result = dummy_func("old_name")
53+
assert result == ("new_name", None)
54+
mock_read_resource_overwrites.assert_called_once_with("asset", "old_name", None)

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)