Пример #1
0
 public void TestInvoked_Ok()
 {
     using (var logger = new InProcMessagePackStreamLogger())
     {
         ServerTransportTest.TestFiltersCore(
             null,
             null,
             (request, response) =>
         {
             var entry = logger.Entries.Single();
             Assert.That(entry.Stream, Is.EqualTo(request));
         },
             new ServerStreamLoggingMessageFilterProvider(logger)
             );
     }
 }
Пример #2
0
 public void TestApplied()
 {
     using (var logger = new InProcMessagePackStreamLogger())
     {
         ServerTransportTest.TestFiltersCore(
             null,
             transport =>
         {
             Assert.That(transport.BeforeDeserializationFilters.Count, Is.EqualTo(1));
             var filter = transport.BeforeDeserializationFilters[0] as ServerStreamLoggingMessageFilter;
             Assert.That(filter, Is.Not.Null);
             Assert.That(transport.AfterSerializationFilters, Is.Empty);
         },
             null,
             new ServerStreamLoggingMessageFilterProvider(logger)
             );
     }
 }
        public void TestApplied()
        {
            long quota = Math.Abs(Environment.TickCount);

            ServerTransportTest.TestFiltersCore(
                null,
                transport =>
            {
                Assert.That(transport.BeforeDeserializationFilters.Count, Is.EqualTo(1));
                var filter = transport.BeforeDeserializationFilters[0] as ServerQuotaMessageFilter;
                Assert.That(filter, Is.Not.Null);
                Assert.That(filter.Quota, Is.EqualTo(quota));
                Assert.That(transport.AfterSerializationFilters, Is.Empty);
            },
                null,
                new ServerQuotaMessageFilterProvider(quota)
                );
        }
        public void TestIsGreatorThanQuota_MessagetooLongError()
        {
            long quota = 16;

            ServerTransportTest.TestFiltersCore(
                (argumentPacker, currentLength) =>
            {
                var remaining = quota - currentLength - 2;                         // header(FixArray) + header(FixRaw) = 2 byte
                argumentPacker.PackArrayHeader(1);
                argumentPacker.PackRaw(new byte[remaining + 1]);
            },
                null,
                (request, response) =>
            {
                // Error occurred.
                var responseMessage = Unpacking.UnpackArray(response).Value;
                Assert.That(responseMessage[2] == RpcError.MessageTooLargeError.Identifier, "{0}:{1}", responseMessage[2], responseMessage[3]);
            },
                new ServerQuotaMessageFilterProvider(quota)
                );
        }
        public void TestIsEqualToQuota_Ok()
        {
            long quota = 16;

            ServerTransportTest.TestFiltersCore(
                (argumentPacker, currentLength) =>
            {
                var remaining = quota - currentLength - 2;                         // header(FixArray) + header(FixRaw) = 2 byte
                argumentPacker.PackArrayHeader(1);
                argumentPacker.PackRaw(new byte[remaining]);
            },
                null,
                (request, response) =>
            {
                // No error occurred.
                var responseMessage = Unpacking.UnpackArray(response).Value;
                Assert.That(responseMessage[2].IsNil, "{0}:{1}", responseMessage[2], responseMessage[3]);
            },
                new ServerQuotaMessageFilterProvider(quota)
                );
        }