Skip to content

Commit b3960b1

Browse files
author
Rakshith Bhyravabhotla
authored
Raise on bad credential (Azure#16206)
1 parent c739da5 commit b3960b1

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

sdk/eventgrid/azure-eventgrid/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
**Bug Fixes**
99
- `EventGridEvent` has two additional required positional parameters namely, `data` and `data_version`.
10+
- `EventGridPublisherClient` now appropriately throws a `ValueError` if an invalid credential is passed during initialization.
1011

1112
## 2.0.0b4 (2020-11-11)
1213

sdk/eventgrid/azure-eventgrid/azure/eventgrid/_helpers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,13 @@ def _get_authentication_policy(credential):
7777
if credential is None:
7878
raise ValueError("Parameter 'self._credential' must not be None.")
7979
if isinstance(credential, AzureKeyCredential):
80-
authentication_policy = AzureKeyCredentialPolicy(credential=credential, name=constants.EVENTGRID_KEY_HEADER)
80+
return AzureKeyCredentialPolicy(credential=credential, name=constants.EVENTGRID_KEY_HEADER)
8181
if isinstance(credential, AzureSasCredential):
82-
authentication_policy = EventGridSasCredentialPolicy(
82+
return EventGridSasCredentialPolicy(
8383
credential=credential,
8484
name=constants.EVENTGRID_TOKEN_HEADER
8585
)
86-
return authentication_policy
86+
raise ValueError("The provided credential should be an instance of AzureSasCredential or AzureKeyCredential")
8787

8888
def _is_cloud_event(event):
8989
# type: (Any) -> bool

sdk/eventgrid/azure-eventgrid/tests/test_eg_publisher_client.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,3 +238,8 @@ def test_send_custom_schema_event_as_list(self, resource_group, eventgrid_topic,
238238
}
239239
)
240240
client.send([custom_event1, custom_event2])
241+
242+
def test_send_throws_with_bad_credential(self):
243+
bad_credential = "I am a bad credential"
244+
with pytest.raises(ValueError, match="The provided credential should be an instance of AzureSasCredential or AzureKeyCredential"):
245+
client = EventGridPublisherClient("eventgrid_endpoint", bad_credential)

0 commit comments

Comments
 (0)