Skip to content

Commit 610453d

Browse files
authored
Fix bug for int to float convert (#30891)
1 parent dc4393d commit 610453d

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/azure-cli-core/azure/cli/core/aaz/_arg_action.py

+3
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,9 @@ def format_data(cls, data):
167167
if isinstance(data, cls._schema.DataType):
168168
return data
169169

170+
if isinstance(data, int) and cls._schema.DataType == float:
171+
return data
172+
170173
raise AAZInvalidValueError(f"{cls._schema.DataType} type value expected, got '{data}'({type(data)})")
171174

172175

src/azure-cli-core/azure/cli/core/tests/test_aaz_arg.py

+13
Original file line numberDiff line numberDiff line change
@@ -1520,6 +1520,19 @@ def test_aaz_object_arg(self):
15201520
"new_i_pv6": '00:00:00'
15211521
})
15221522

1523+
# test assign the int value to the float field, it should be converted to float
1524+
action.setup_operations(dest_ops, ["{enable:True,tags:null,vnets:null,pt:12,newIPv6:'00:00:00'}"])
1525+
self.assertEqual(len(dest_ops._ops), 13)
1526+
dest_ops.apply(v, "properties")
1527+
self.assertEqual(v.properties, {
1528+
"enable": True,
1529+
"tags": None,
1530+
"vnets": None,
1531+
"pt": 12.0,
1532+
"new_i_pv6": '00:00:00'
1533+
})
1534+
1535+
15231536
def test_aaz_has_value_for_buildin(self):
15241537
from azure.cli.core.aaz import has_value, AAZUndefined
15251538
self.assertTrue(has_value(0))

0 commit comments

Comments
 (0)