Пример #1
0
    def test_cloud_event_serialization_extension_string(self, **kwargs):
        data = "cloudevent"
        cloud_event = CloudEvent(
                source="http://samplesource.dev",
                data=data,
                type="Sample.Cloud.Event",
                extensions={'e1':1, 'e2':2}
                )
        
        cloud_event.subject = "subject" # to test explicit setting of prop
        internal = _cloud_event_to_generated(cloud_event)

        assert internal.additional_properties is not None
        assert 'e1' in internal.additional_properties

        json  = internal.serialize()

        expected = {
            'source':'http://samplesource.dev',
            'data': data,
            'type':'Sample.Cloud.Event',
            'reason_code':204,
            'e1':1,
            'e2':2
        }

        self._assert_cloud_event_serialized(expected, json)
        if sys.version_info > (3, 5):
            assert expected['data'] == json['data']
        else:
            encoded = base64.b64encode(data).decode('utf-8')
            expected['data_base64'] = encoded
            assert expected['data_base64'] == json['data_base64']
            assert 'data' not in json
Пример #2
0
 def test_send_cloud_event_data_with_extensions(
         self, variables, eventgrid_cloud_event_topic_endpoint):
     client = self.create_eg_publisher_client(
         eventgrid_cloud_event_topic_endpoint)
     cloud_event = CloudEvent(source="http://samplesource.dev",
                              data="cloudevent",
                              type="Sample.Cloud.Event",
                              extensions={
                                  'reasoncode': 204,
                                  'extension': 'hello'
                              })
     client.send([cloud_event])
     internal = _cloud_event_to_generated(cloud_event).serialize()
     assert 'reasoncode' in internal
     assert 'extension' in internal
     assert internal['reasoncode'] == 204
 async 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={
                 'reasoncode':204,
                 'extension':'hello'
                 }
             )
     await client.send([cloud_event])
     internal = _cloud_event_to_generated(cloud_event).serialize()
     assert 'reasoncode' in internal
     assert 'extension' in internal
     assert internal['reasoncode'] == 204