private static HttpConnection CreateConnection( HttpConnectionOptions httpConnectionOptions, ILoggerFactory loggerFactory = null, ITransport transport = null, ITransportFactory transportFactory = null, TransferFormat transferFormat = TransferFormat.Text) { loggerFactory = loggerFactory ?? NullLoggerFactory.Instance; httpConnectionOptions.Url ??= new Uri("http://fakeuri.org/"); httpConnectionOptions.DefaultTransferFormat = transferFormat; if (transportFactory == null && transport != null) { transportFactory = new TestTransportFactory(transport); } if (transportFactory != null) { return(new HttpConnection(httpConnectionOptions, loggerFactory, transportFactory)); } else { // Use the public constructor to get the default transport factory. return(new HttpConnection(httpConnectionOptions, loggerFactory)); } }
public async Task ChannelWithDeltasEnabled_ShouldSupportProcessingMultipleMessagesInSamePayload(Protocol protocol) { string testName = "delta-channel".AddRandomSuffix(); var receivedMessages = new List <ProtocolMessage>(); var realtime = await GetRealtimeClient(protocol, (options, settings) => { var optionsTransportFactory = new TestTransportFactory { BeforeDataProcessed = receivedMessages.Add, }; options.TransportFactory = optionsTransportFactory; }); var channel = realtime.Channels.Get("[?delta=vcdiff]" + testName); var waitForDone = new TaskCompletionAwaiter(); var received = new List <Message>(); int count = 0; channel.Subscribe(message => { count++; received.Add(message); if (count == 3) { waitForDone.Done(); } }); channel.Error += (sender, args) => throw new Exception(args.Reason.Message); /* subscribe */ await channel.AttachAsync(); var testData = new[] { new TestData("bar", 1, "active"), new TestData("bar", 2, "active"), new TestData("bar", 3, "inactive"), }; await channel.PublishAsync(testData.Select(x => new Message(x.Count.ToString(), x))); await waitForDone; for (var i = 0; i < received.Count; i++) { var message = received[i]; var data = ((JToken)message.Data).ToObject <TestData>(); var original = testData[i]; Assert.Equal(data, original); } receivedMessages .Where(x => x.Action == ProtocolMessage.MessageAction.Message) .Should().HaveCount(1); }
public LocalManagementTests() { var testTransportFactory = new TestTransportFactory(); var courierContainer = CourierBuilder.Create() .UseTransport(testTransportFactory) .BuildAsync().Result; Setup(courierContainer); }
public LocalMessagingLoadTests() { var testTransportFactory = new TestTransportFactory(); var courierFacades = Util.Generate( 3, i => CourierBuilder.Create() .UseTransport(testTransportFactory) .UseTcpServerTransport(21337 + i) .BuildAsync().Result); Setup(courierFacades); }
public LocalServiceTests() { var testTransportFactory = new TestTransportFactory(); var clientFacade = CourierBuilder.Create() .UseTransport(testTransportFactory) .BuildAsync().Result; var serverFacade = CourierBuilder.Create() .UseTransport(testTransportFactory) .BuildAsync().Result; Setup(clientFacade, serverFacade); }
public LocalMessagingTests() { var testTransportFactory = new TestTransportFactory(); var senderfacade = CourierBuilder.Create() .UseTransport(testTransportFactory) .BuildAsync().Result; var receiverFacade = CourierBuilder.Create() .UseTransport(testTransportFactory) .BuildAsync().Result; Setup(senderfacade, receiverFacade); }