diff --git a/azure/durable_functions/models/TokenSource.py b/azure/durable_functions/models/TokenSource.py index d6ced05f..36b3c5f8 100644 --- a/azure/durable_functions/models/TokenSource.py +++ b/azure/durable_functions/models/TokenSource.py @@ -32,6 +32,7 @@ class ManagedIdentityTokenSource(TokenSource): def __init__(self, resource: str): super().__init__() self._resource: str = resource + self._kind: str = "AzureManagedIdentity" @property def resource(self) -> str: @@ -51,4 +52,5 @@ def to_json(self) -> Dict[str, Union[str, int]]: """ json_dict: Dict[str, Union[str, int]] = {} add_attrib(json_dict, self, 'resource') + json_dict["kind"] = self._kind return json_dict diff --git a/tests/models/test_TokenSource.py b/tests/models/test_TokenSource.py new file mode 100644 index 00000000..30dfe28f --- /dev/null +++ b/tests/models/test_TokenSource.py @@ -0,0 +1,11 @@ +from azure.durable_functions.models.TokenSource import ManagedIdentityTokenSource + +def test_serialization_fields(): + """Validates the TokenSource contains the expected fields when serialized to JSON""" + token_source = ManagedIdentityTokenSource(resource="TOKEN_SOURCE") + token_source_json = token_source.to_json() + + # Output JSON should contain a resource field and a kind field set to `AzureManagedIdentity` + assert "resource" in token_source_json.keys() + assert "kind" in token_source_json.keys() + assert token_source_json["kind"] == "AzureManagedIdentity" \ No newline at end of file