def test_cloud_event_serialization_extension_bytes(self, **kwargs): data = b"cloudevent" cloud_event = CloudEvent( source="http://samplesource.dev", data=data, type="Sample.Cloud.Event", foo="bar", extensions={'e1':1, 'e2':2} ) cloud_event.subject = "subject" # to test explicit setting of prop encoded = base64.b64encode(data).decode('utf-8') internal = cloud_event._to_generated() assert internal.additional_properties is not None assert 'foo' not in internal.additional_properties assert 'e1' in internal.additional_properties json = internal.serialize() expected = { 'source':'http://samplesource.dev', 'data_base64': encoded, 'type':'Sample.Cloud.Event', 'reason_code':204, 'e1':1, 'e2':2 } self._assert_cloud_event_serialized(expected, json) assert expected['data_base64'] == json['data_base64']
def test_send_cloud_event_data_with_extensions(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) cloud_event = CloudEvent( source = "http://samplesource.dev", data = "cloudevent", type="Sample.Cloud.Event", extensions={ 'reason_code':204, 'extension':'hello' } ) client.send([cloud_event]) internal = cloud_event._to_generated().serialize() assert 'reason_code' in internal assert 'extension' in internal assert internal['reason_code'] == 204