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; }
/// <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; }
/// <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; }