Пример #1
0
        public void ConvertToProto_MessageData()
        {
            var data = new PayloadData1 {
                Name = "test"
            };
            var cloudEvent = new CloudEvent {
                Data = data
            }.PopulateRequiredAttributes();
            var proto = new ProtobufEventFormatter().ConvertToProto(cloudEvent);

            Assert.Equal(Any.Pack(data), proto.ProtoData);
        }
Пример #2
0
        public void ConvertFromProto_MessageData()
        {
            var message = new PayloadData1 {
                Name = "testing"
            };
            var proto = CreateMinimalCloudEventProto();

            proto.ProtoData = Any.Pack(message);
            var cloudEvent = new ProtobufEventFormatter().ConvertFromProto(proto, null);

            // Note: this isn't unpacked automatically.
            Assert.Equal(Any.Pack(message), cloudEvent.Data);
        }
Пример #3
0
        public void ConvertToProto_MessageData_CustomTypeUrlPrefix()
        {
            string typeUrlPrefix = "cloudevents.io/xyz";
            var    data          = new PayloadData1 {
                Name = "test"
            };
            var cloudEvent = new CloudEvent {
                Data = data
            }.PopulateRequiredAttributes();
            var proto = new ProtobufEventFormatter(typeUrlPrefix).ConvertToProto(cloudEvent);

            Assert.Equal(Any.Pack(data, typeUrlPrefix), proto.ProtoData);
        }
Пример #4
0
        public void ConvertToProto_MessageData_AlreadyPacked()
        {
            var data = new PayloadData1 {
                Name = "test"
            };
            var packedData = Any.Pack(data);
            var cloudEvent = new CloudEvent {
                Data = packedData
            }.PopulateRequiredAttributes();
            var proto = new ProtobufEventFormatter().ConvertToProto(cloudEvent);

            // This verifies that the formatter doesn't "double-encode".
            Assert.Equal(packedData, proto.ProtoData);
        }