Example #1
0
        public async Task CutsLongJsonIncludedInDeserializationExceptionIfItIsTooLong()
        {
            var embeddedObjects = Enumerable.Range(0, 300)
                                  .Select(n => new EmbeddedObject($"HEJ MED DIG MIN VEN - DET HER ER BESKED {n}"));

            var someMessage = new SomeMessage(embeddedObjects.ToList());

            var headers = new Dictionary <string, string>();
            var message = new Message(headers, someMessage);

            var transportMessage = await _serializer.Serialize(message);

            var jsonText = Encoding.UTF8.GetString(transportMessage.Body);

            Console.WriteLine();
            Console.WriteLine($"JSON text length: {jsonText.Length}");
            Console.WriteLine();

            BreakMessage(transportMessage);

            var aggregateException = Assert.Throws <AggregateException>(() =>
            {
                _serializer.Deserialize(transportMessage).Wait();
            });

            Console.WriteLine(aggregateException);
        }
        public async Task CanRoundtripSimpleObject()
        {
            const string text = "hej med dig min ven";

            var someMessage = new SomeMessage {
                Text = text
            };

            var someMessageRoundtripped = await Roundtrip(someMessage);

            Assert.That(someMessageRoundtripped, Is.TypeOf <SomeMessage>());
            Assert.That(((SomeMessage)someMessageRoundtripped).Text, Is.EqualTo(text));
        }