diff --git a/azure/functions/decorators/blob.py b/azure/functions/decorators/blob.py index 0f38603e..1a2d4122 100644 --- a/azure/functions/decorators/blob.py +++ b/azure/functions/decorators/blob.py @@ -12,7 +12,7 @@ def __init__(self, name: str, path: str, connection: str, - source: BlobSource, + source: Optional[BlobSource] = None, data_type: Optional[DataType] = None, **kwargs): self.path = path diff --git a/azure/functions/decorators/function_app.py b/azure/functions/decorators/function_app.py index 3807c67f..b3d20467 100644 --- a/azure/functions/decorators/function_app.py +++ b/azure/functions/decorators/function_app.py @@ -1114,8 +1114,8 @@ def blob_trigger(self, arg_name: str, path: str, connection: str, - source: BlobSource = - BlobSource.LOGS_AND_CONTAINER_SCAN, + source: Optional[BlobSource] = + None, data_type: Optional[DataType] = None, **kwargs) -> Callable[..., Any]: """ diff --git a/docs/ProgModelSpec.pyi b/docs/ProgModelSpec.pyi index 14fe2025..dd7a5e98 100644 --- a/docs/ProgModelSpec.pyi +++ b/docs/ProgModelSpec.pyi @@ -495,7 +495,7 @@ class TriggerApi(DecoratorApi, ABC): arg_name: str, path: str, connection: str, - source: BlobSource = BlobSource.LOGS_AND_CONTAINER_SCAN, + source: Optional[BlobSource] = None, data_type: Optional[DataType] = None, **kwargs) -> Callable: """ diff --git a/tests/decorators/test_blob.py b/tests/decorators/test_blob.py index f77f7319..f8712b9f 100644 --- a/tests/decorators/test_blob.py +++ b/tests/decorators/test_blob.py @@ -8,6 +8,44 @@ class TestBlob(unittest.TestCase): + def test_blob_trigger_creation_with_no_source(self): + trigger = BlobTrigger(name="req", + path="dummy_path", + connection="dummy_connection", + data_type=DataType.UNDEFINED, + dummy_field="dummy") + + self.assertEqual(trigger.get_binding_name(), "blobTrigger") + self.assertEqual(trigger.get_dict_repr(), { + "type": "blobTrigger", + "direction": BindingDirection.IN, + 'dummyField': 'dummy', + "name": "req", + "dataType": DataType.UNDEFINED, + "path": "dummy_path", + "connection": "dummy_connection" + }) + + def test_blob_trigger_creation_with_default_specified_source(self): + trigger = BlobTrigger(name="req", + path="dummy_path", + connection="dummy_connection", + source=BlobSource.LOGS_AND_CONTAINER_SCAN, + data_type=DataType.UNDEFINED, + dummy_field="dummy") + + self.assertEqual(trigger.get_binding_name(), "blobTrigger") + self.assertEqual(trigger.get_dict_repr(), { + "type": "blobTrigger", + "direction": BindingDirection.IN, + 'dummyField': 'dummy', + "name": "req", + "dataType": DataType.UNDEFINED, + "path": "dummy_path", + 'source': BlobSource.LOGS_AND_CONTAINER_SCAN, + "connection": "dummy_connection" + }) + def test_blob_trigger_creation_with_source_as_string(self): trigger = BlobTrigger(name="req", path="dummy_path", diff --git a/tests/decorators/test_decorators.py b/tests/decorators/test_decorators.py index 115c8573..1bd16de3 100644 --- a/tests/decorators/test_decorators.py +++ b/tests/decorators/test_decorators.py @@ -1569,8 +1569,6 @@ def dummy(): "type": BLOB_TRIGGER, "name": "req", "path": "dummy_path", - "source": - BlobSource.LOGS_AND_CONTAINER_SCAN, "connection": "dummy_conn" }]}) @@ -1595,7 +1593,6 @@ def dummy(): "type": BLOB_TRIGGER, "name": "req", "path": "dummy_path", - "source": BlobSource.LOGS_AND_CONTAINER_SCAN, "connection": "dummy_conn" }) @@ -1665,7 +1662,6 @@ def dummy(): "type": BLOB_TRIGGER, "name": "req", "path": "dummy_path", - "source": BlobSource.LOGS_AND_CONTAINER_SCAN, "connection": "dummy_conn" })