Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions sdk/eventgrid/azure-eventgrid/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
recursive-include tests *.py *.yaml
recursive-include samples *.py
include *.md
include azure/__init__.py

5 changes: 4 additions & 1 deletion sdk/eventgrid/azure-eventgrid/azure/eventgrid/_helpers.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import hashlib
import hmac
import base64
from urllib.parse import quote
try:
from urllib.parse import quote
except ImportError:
from urllib2 import quote # type: ignore
import datetime

from azure.core.pipeline.policies import AzureKeyCredentialPolicy
Expand Down
1 change: 1 addition & 0 deletions sdk/eventgrid/azure-eventgrid/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@
zip_safe=False,
packages=find_packages(exclude=[
'tests',
'samples',
# Exclude packages that will be covered by PEP420 or nspkg
'azure',
]),
Expand Down
5 changes: 4 additions & 1 deletion sdk/eventgrid/azure-eventgrid/tests/eventgrid_preparer.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,19 +71,22 @@ def create_resource(self, name, **kwargs):
self.resource = topic_operation.result()
key = self.client.topics.list_shared_access_keys(group.name, name)
self.primary_key = key.key1
self.endpoint = self.resource.endpoint
else:
self.resource = FakeResource(name=name, id=name)
self.primary_key = "ZmFrZV9hY29jdW50X2tleQ==" # test key copied from sb_preparer
self.endpoint = "https://{}.westus-1.eventgrid.azure.net/api/events".format(name)
return {
self.parameter_name: self.resource,
'{}_primary_key'.format(self.parameter_name): self.primary_key,
'{}_endpoint'.format(self.parameter_name): self.endpoint,
}

def remove_resource(self, name, **kwargs):
if self.is_live:
group = self._get_resource_group(**kwargs)
self.client.topics.delete(group.name, name, polling=False)

def _get_resource_group(self, **kwargs):
try:
return kwargs.get(self.resource_group_parameter_name)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
interactions:
- request:
body: '[{"id": "ca593e94-94c0-4d2a-bfa4-7ceb5c4bbd6f", "source": "http://samplesource.dev",
"data": {"sample": "cloudevent"}, "type": "Sample.Cloud.Event", "time": "2020-08-07T21:34:07.924565Z",
body: '[{"id": "45361ea3-f937-47fe-85fc-182c24b14fc5", "source": "http://samplesource.dev",
"data": {"sample": "cloudevent"}, "type": "Sample.Cloud.Event", "time": "2020-08-11T06:39:22.600597Z",
"specversion": "1.0"}]'
headers:
Accept:
Expand All @@ -15,11 +15,11 @@ interactions:
Content-Type:
- application/cloudevents-batch+json; charset=utf-8
User-Agent:
- azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0)
- azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0)
aeg-sas-key:
- 89G9fS9W8LUWY2OuelYfs2RAzcMdP7VpK8aFGuJfNvc=
- flIbhDLap/Ioym6KTtqsPbYUGYpL+AKCiVG/InyRHj4=
method: POST
uri: https://cloudeventgridtestvrj3je.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
response:
body:
string: ''
Expand All @@ -29,7 +29,7 @@ interactions:
content-length:
- '0'
date:
- Fri, 07 Aug 2020 21:34:06 GMT
- Tue, 11 Aug 2020 06:39:21 GMT
server:
- Microsoft-HTTPAPI/2.0
strict-transport-security:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
interactions:
- request:
body: '[{"id": "6b1cf3fe-bcff-4c62-81d6-f639c0c4d0eb", "source": "http://samplesource.dev",
"data": "cloudevent", "type": "Sample.Cloud.Event", "time": "2020-08-07T21:34:08.581545Z",
body: '[{"id": "47f96517-0a4b-4c99-bad4-c3314818ed30", "source": "http://samplesource.dev",
"data": "cloudevent", "type": "Sample.Cloud.Event", "time": "2020-08-11T06:39:23.189542Z",
"specversion": "1.0"}]'
headers:
Accept:
Expand All @@ -15,11 +15,11 @@ interactions:
Content-Type:
- application/cloudevents-batch+json; charset=utf-8
User-Agent:
- azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0)
- azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0)
aeg-sas-key:
- 89G9fS9W8LUWY2OuelYfs2RAzcMdP7VpK8aFGuJfNvc=
- flIbhDLap/Ioym6KTtqsPbYUGYpL+AKCiVG/InyRHj4=
method: POST
uri: https://cloudeventgridtestvrj3je.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
uri: https://cloudeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
response:
body:
string: ''
Expand All @@ -29,7 +29,7 @@ interactions:
content-length:
- '0'
date:
- Fri, 07 Aug 2020 21:34:07 GMT
- Tue, 11 Aug 2020 06:39:22 GMT
server:
- Microsoft-HTTPAPI/2.0
strict-transport-security:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
interactions:
- request:
body: '[{"customSubject": "sample", "customEventType": "sample.event", "customDataVersion":
"2.0", "customId": "1234", "customEventTime": "2020-08-07T21:34:25.683034+00:00",
"2.0", "customId": "1234", "customEventTime": "2020-08-11T06:39:36.974650+00:00",
"customData": "sample data"}]'
headers:
Accept:
Expand All @@ -15,11 +15,11 @@ interactions:
Content-Type:
- application/json
User-Agent:
- azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0)
- azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0)
aeg-sas-key:
- 4TZhNKIYNrMsWCvdQzJso9Q8An3gzpiNJ7P44XZeLNU=
- fxkmsikqjbH4ihoDP0Jqebsu6tQAS5+LcZEDKHN40Tc=
method: POST
uri: https://customeventgridtest4ryoj.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
uri: https://customeventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
response:
body:
string: ''
Expand All @@ -29,7 +29,7 @@ interactions:
content-length:
- '0'
date:
- Fri, 07 Aug 2020 21:34:24 GMT
- Tue, 11 Aug 2020 06:39:36 GMT
server:
- Microsoft-HTTPAPI/2.0
strict-transport-security:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
interactions:
- request:
body: '[{"id": "b796bf81-581e-42c2-a8d8-301036f97c26", "subject": "sample", "data":
body: '[{"id": "38eab883-eb07-4ae1-9ff4-12ebaf022113", "subject": "sample", "data":
{"sample": "eventgridevent"}, "eventType": "Sample.EventGrid.Event", "eventTime":
"2020-08-07T21:34:42.16594Z", "dataVersion": "2.0"}]'
"2020-08-11T06:39:51.000672Z", "dataVersion": "2.0"}]'
headers:
Accept:
- '*/*'
Expand All @@ -11,15 +11,15 @@ interactions:
Connection:
- keep-alive
Content-Length:
- '211'
- '212'
Content-Type:
- application/json
User-Agent:
- azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0)
- azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0)
aeg-sas-key:
- cus6lOEQ+atANdNK2jb8zKRAAcQq7MjDAUr19LQBzQc=
- mu+h0B1P+GXAS5TCSIJVZ/oZUf+Pur3p90WxHabL2MM=
method: POST
uri: https://eventgridtest2neomnjgjhm.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
response:
body:
string: ''
Expand All @@ -29,7 +29,7 @@ interactions:
content-length:
- '0'
date:
- Fri, 07 Aug 2020 21:34:40 GMT
- Tue, 11 Aug 2020 06:39:50 GMT
server:
- Microsoft-HTTPAPI/2.0
strict-transport-security:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
interactions:
- request:
body: '[{"id": "cd9587d2-8a97-41d5-8859-376c46339548", "subject": "sample", "data":
"eventgridevent", "eventType": "Sample.EventGrid.Event", "eventTime": "2020-08-07T21:34:42.79032Z",
body: '[{"id": "56a121b0-92b9-4921-b11b-2a99b0b4c5be", "subject": "sample", "data":
"eventgridevent", "eventType": "Sample.EventGrid.Event", "eventTime": "2020-08-11T06:39:51.543811Z",
"dataVersion": "2.0"}]'
headers:
Accept:
Expand All @@ -11,15 +11,15 @@ interactions:
Connection:
- keep-alive
Content-Length:
- '199'
- '200'
Content-Type:
- application/json
User-Agent:
- azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0)
- azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0)
aeg-sas-key:
- cus6lOEQ+atANdNK2jb8zKRAAcQq7MjDAUr19LQBzQc=
- mu+h0B1P+GXAS5TCSIJVZ/oZUf+Pur3p90WxHabL2MM=
method: POST
uri: https://eventgridtest2neomnjgjhm.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
response:
body:
string: ''
Expand All @@ -29,7 +29,7 @@ interactions:
content-length:
- '0'
date:
- Fri, 07 Aug 2020 21:34:41 GMT
- Tue, 11 Aug 2020 06:39:51 GMT
server:
- Microsoft-HTTPAPI/2.0
strict-transport-security:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
interactions:
- request:
body: '[{"id": "7b6a0858-706f-49f8-9482-5662c327311b", "subject": "sample", "data":
body: '[{"id": "849de85a-06ec-4d66-a41c-638ceb4ab7cb", "subject": "sample", "data":
{"sample": "eventgridevent"}, "eventType": "Sample.EventGrid.Event", "eventTime":
"2020-08-07T21:34:43.317545Z", "dataVersion": "2.0"}]'
"2020-08-11T06:39:51.999494Z", "dataVersion": "2.0"}]'
headers:
Accept:
- '*/*'
Expand All @@ -15,11 +15,11 @@ interactions:
Content-Type:
- application/json
User-Agent:
- azsdk-python-eventgridpublisherclient/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0)
- azsdk-python-eventgridpublisherclient/unknown Python/3.7.3 (Windows-10-10.0.18362-SP0)
aeg-sas-token:
- r=https%3A%2F%2Feventgridtest2neomnjgjhm.westus-1.eventgrid.azure.net%2Fapi%2Fevents%3FapiVersion%3D2018-01-01&e=2020-08-07%2022%3A34%3A43.317202%2B00%3A00&s=DIX%2BVGr%2BMerrbqtSxE3a%2B1BQS1UrJOFH%2B9Y7cl67zDA%3D
- r=https%3A%2F%2Feventgridtestmsevpyxtqca.westus-1.eventgrid.azure.net%2Fapi%2Fevents%3FapiVersion%3D2018-01-01&e=2020-08-11%2007%3A39%3A51.997500%2B00%3A00&s=uPP02vkTyXgAw66IZMR%2B8xG92iHk1Imn4nnIN8ruM%2Bw%3D
method: POST
uri: https://eventgridtest2neomnjgjhm.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
uri: https://eventgridtestegtopic.westus-1.eventgrid.azure.net/api/events?api-version=2018-01-01
response:
body:
string: ''
Expand All @@ -29,7 +29,7 @@ interactions:
content-length:
- '0'
date:
- Fri, 07 Aug 2020 21:34:42 GMT
- Tue, 11 Aug 2020 06:39:51 GMT
server:
- Microsoft-HTTPAPI/2.0
strict-transport-security:
Expand Down
27 changes: 13 additions & 14 deletions sdk/eventgrid/azure-eventgrid/tests/test_eg_publisher_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ class EventGridPublisherClientTests(AzureMgmtTestCase):
@pytest.mark.liveTest
@CachedResourceGroupPreparer(name_prefix='eventgridtest')
@CachedEventGridTopicPreparer(name_prefix='eventgridtest')
def test_eg_publisher_client_publish_event_grid_event_data_dict(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, **kwargs):
def test_eg_publisher_client_publish_event_grid_event_data_dict(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint):
akc_credential = AzureKeyCredential(eventgrid_topic_primary_key)
client = EventGridPublisherClient(eventgrid_topic.endpoint, akc_credential)
client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential)
eg_event = EventGridEvent(
subject="sample",
data={"sample": "eventgridevent"},
Expand All @@ -39,9 +39,9 @@ def test_eg_publisher_client_publish_event_grid_event_data_dict(self, resource_g
@pytest.mark.liveTest
@CachedResourceGroupPreparer(name_prefix='eventgridtest')
@CachedEventGridTopicPreparer(name_prefix='eventgridtest')
def test_eg_publisher_client_publish_event_grid_event_data_str(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, **kwargs):
def test_eg_publisher_client_publish_event_grid_event_data_str(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint):
akc_credential = AzureKeyCredential(eventgrid_topic_primary_key)
client = EventGridPublisherClient(eventgrid_topic.endpoint, akc_credential)
client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential)
eg_event = EventGridEvent(
subject="sample",
data="eventgridevent",
Expand All @@ -53,9 +53,9 @@ def test_eg_publisher_client_publish_event_grid_event_data_str(self, resource_gr
@pytest.mark.liveTest
@CachedResourceGroupPreparer(name_prefix='eventgridtest')
@CachedEventGridTopicPreparer(name_prefix='cloudeventgridtest')
def test_eg_publisher_client_publish_cloud_event_data_dict(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, **kwargs):
def test_eg_publisher_client_publish_cloud_event_data_dict(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint):
akc_credential = AzureKeyCredential(eventgrid_topic_primary_key)
client = EventGridPublisherClient(eventgrid_topic.endpoint, akc_credential)
client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential)
cloud_event = CloudEvent(
source = "http://samplesource.dev",
data = {"sample": "cloudevent"},
Expand All @@ -66,9 +66,9 @@ def test_eg_publisher_client_publish_cloud_event_data_dict(self, resource_group,
@pytest.mark.liveTest
@CachedResourceGroupPreparer(name_prefix='eventgridtest')
@CachedEventGridTopicPreparer(name_prefix='cloudeventgridtest')
def test_eg_publisher_client_publish_cloud_event_data_str(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, **kwargs):
def test_eg_publisher_client_publish_cloud_event_data_str(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint):
akc_credential = AzureKeyCredential(eventgrid_topic_primary_key)
client = EventGridPublisherClient(eventgrid_topic.endpoint, akc_credential)
client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential)
cloud_event = CloudEvent(
source = "http://samplesource.dev",
data = "cloudevent",
Expand All @@ -79,12 +79,11 @@ def test_eg_publisher_client_publish_cloud_event_data_str(self, resource_group,
@pytest.mark.liveTest
@CachedResourceGroupPreparer(name_prefix='eventgridtest')
@CachedEventGridTopicPreparer(name_prefix='eventgridtest')
def test_eg_publisher_client_publish_signature_credential(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, **kwargs):
def test_eg_publisher_client_publish_signature_credential(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint):
expiration_date_utc = dt.datetime.now(UTC()) + timedelta(hours=1)
signature = generate_shared_access_signature(eventgrid_topic.endpoint, eventgrid_topic_primary_key, expiration_date_utc)
signature = generate_shared_access_signature(eventgrid_topic_endpoint, eventgrid_topic_primary_key, expiration_date_utc)
credential = EventGridSharedAccessSignatureCredential(signature)
print(eventgrid_topic.endpoint)
client = EventGridPublisherClient(eventgrid_topic.endpoint, credential)
client = EventGridPublisherClient(eventgrid_topic_endpoint, credential)
eg_event = EventGridEvent(
subject="sample",
data={"sample": "eventgridevent"},
Expand All @@ -96,9 +95,9 @@ def test_eg_publisher_client_publish_signature_credential(self, resource_group,
@pytest.mark.liveTest
@CachedResourceGroupPreparer(name_prefix='eventgridtest')
@CachedEventGridTopicPreparer(name_prefix='customeventgridtest')
def test_eg_publisher_client_publish_custom_schema_event(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, **kwargs):
def test_eg_publisher_client_publish_custom_schema_event(self, resource_group, eventgrid_topic, eventgrid_topic_primary_key, eventgrid_topic_endpoint):
akc_credential = AzureKeyCredential(eventgrid_topic_primary_key)
client = EventGridPublisherClient(eventgrid_topic.endpoint, akc_credential)
client = EventGridPublisherClient(eventgrid_topic_endpoint, akc_credential)
custom_event = CustomEvent(
{
"customSubject": "sample",
Expand Down