Esempio n. 1
0
        public void GetEventBodyDoesNotAllowNonDataBodyTypes(AmqpMessageBodyType bodyType)
        {
            var body = bodyType switch
            {
                AmqpMessageBodyType.Sequence => AmqpMessageBody.FromSequence(new[] { new List <object> {
                                                                                         1, 2, 3
                                                                                     } }),
                AmqpMessageBodyType.Value => AmqpMessageBody.FromValue("This is a value"),
                _ => throw new ArgumentException($"Unsupported body type { bodyType }", nameof(bodyType))
            };

            var message = new AmqpAnnotatedMessage(body);

            Assert.That(() => message.GetEventBody(), Throws.InstanceOf <NotSupportedException>());
        }
 /// <summary>
 /// Initializes a new <see cref="AmqpMessageBody"/> instance with the
 /// passed in data sections.
 /// </summary>
 /// <param name="data">The data sections.</param>
 public AmqpMessageBody(IEnumerable <ReadOnlyMemory <byte> > data)
 {
     _data    = data ?? Enumerable.Empty <ReadOnlyMemory <byte> >();
     BodyType = AmqpMessageBodyType.Data;
 }
 /// <summary>
 /// Initializes a new <see cref="AmqpMessageBody"/> instance with the
 /// passed in sequence sections.
 /// <seealso href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-amqp-sequence" />
 /// </summary>
 /// <param name="sequence">The sequence sections.</param>
 private AmqpMessageBody(IEnumerable <IList <object> > sequence)
 {
     ValidateAmqpPrimitive(sequence, nameof(sequence));
     _sequence = sequence;
     BodyType  = AmqpMessageBodyType.Sequence;
 }
 /// <summary>
 /// Initializes a new <see cref="AmqpMessageBody"/> instance with the
 /// passed in value.
 /// <seealso href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-amqp-value" />
 /// </summary>
 /// <param name="value">The value section.</param>
 private AmqpMessageBody(object value)
 {
     ValidateAmqpPrimitive(value, nameof(value));
     _value   = value;
     BodyType = AmqpMessageBodyType.Value;
 }
 public AmqpMessageBody(IEnumerable <ReadOnlyMemory <byte> > data)
 {
     Argument.AssertNotNull(data, nameof(data));
     _data    = data;
     BodyType = AmqpMessageBodyType.Data;
 }
Esempio n. 6
0
 /// <summary>
 /// Initializes a new <see cref="AmqpMessageBody"/> instance with the
 /// passed in sequence sections.
 /// <seealso href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-amqp-sequence" />
 /// </summary>
 /// <param name="sequence">The sequence sections.</param>
 public AmqpMessageBody(IEnumerable <IList <object> > sequence)
 {
     Argument.AssertNotNull(sequence, nameof(sequence));
     _sequence = sequence;
     BodyType  = AmqpMessageBodyType.Sequence;
 }
Esempio n. 7
0
 /// <summary>
 /// Initializes a new <see cref="AmqpMessageBody"/> instance with the
 /// passed in value.
 /// <seealso href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-amqp-value" />
 /// </summary>
 /// <param name="value">The value section.</param>
 public AmqpMessageBody(object value)
 {
     Argument.AssertNotNull(value, nameof(value));
     _value   = value;
     BodyType = AmqpMessageBodyType.Value;
 }