private MockClient <IWampClientProxy <MockRaw> > GetCallee(Type scenario, WampMockClientBuilder <MockRaw> clientBuilder, IWampIncomingMessageHandler <MockRaw, IWampClientProxy <MockRaw> > handler) { WampMessage <MockRaw> welcome = GetCalls(scenario, Channel.DealerToCallee, new WampMessageType[] { WampMessageType.v2Welcome }) .FirstOrDefault(); IEnumerable <WampMessage <MockRaw> > calls = GetCalls(scenario, Channel.CalleeToDealer, MessageTypes.Rpc).Concat (GetCalls(scenario, Channel.DealerToCallee, MessageTypes.Rpc)).ToList(); CalleeMessagePlayer player = new CalleeMessagePlayer(calls, new[] { WampMessageType.v2Invocation }, handler); IMessageRecorder <MockRaw> recorder = new ResponsiveMessageRecorder(calls, new Dictionary <WampMessageType, string>() { { WampMessageType.v2Registered, "registrationId" } }); IWampClientProxy <MockRaw> built = clientBuilder.Create(player, recorder, welcome); player.Client = built; MockClient <IWampClientProxy <MockRaw> > result = new MockClient <IWampClientProxy <MockRaw> >(built, recorder); return(result); }
public BaseScenario() { Binding = new MockBinding(); ClientBuilder = new WampMockClientBuilder <MockRaw>(Binding); mServer = CreateServer(); Handler = new WampIncomingMessageHandler <MockRaw, IWampClientProxy <MockRaw> > (new WampRequestMapper <MockRaw>(mServer.GetType(), Binding.Formatter), new WampMethodBuilder <MockRaw, IWampClientProxy <MockRaw> > (mServer, Binding.Formatter)); }
private static MockClient <IWampClientProxy <MockRaw> > GetSubscriber(Type scenario, WampMockClientBuilder <MockRaw> clientBuilder, IWampIncomingMessageHandler <MockRaw, IWampClientProxy <MockRaw> > handler, IEnumerable <WampMessage <MockRaw> > calls) { WampMessage <MockRaw> welcome = GetCalls(scenario, Channel.BrokerToSubscriber, new WampMessageType[] { WampMessageType.v2Welcome }) .FirstOrDefault(); // TODO: After enough events unsubscribe. NullPlayer <MockRaw> nullPlayer = new NullPlayer <MockRaw>(); IMessageRecorder <MockRaw> recorder = new ResponsiveMessageRecorder(calls, new Dictionary <WampMessageType, string>() { { WampMessageType.v2Subscribed, "subscriptionId" } }); IWampClientProxy <MockRaw> built = clientBuilder.Create(nullPlayer, recorder, welcome); MockClient <IWampClientProxy <MockRaw> > result = new MockClient <IWampClientProxy <MockRaw> >(built, recorder); return(result); }
private static MockClient <IWampClientProxy <MockRaw> > GetPublisher(Type scenario, WampMockClientBuilder <MockRaw> builder, IEnumerable <WampMessage <MockRaw> > calls) { WampMessage <MockRaw> welcome = GetCalls(scenario, Channel.BrokerToPublisher, new WampMessageType[] { WampMessageType.v2Welcome }) .FirstOrDefault(); long sessionId = (long)welcome.Arguments[0].Value; NullPlayer <MockRaw> nullPlayer = new NullPlayer <MockRaw>(); IMessageRecorder <MockRaw> recorder = new ResponsiveMessageRecorder(calls, new Dictionary <WampMessageType, string>() { { WampMessageType.v2Published, "publicationId" } }); IWampClientProxy <MockRaw> built = builder.Create(nullPlayer, recorder, welcome); MockClient <IWampClientProxy <MockRaw> > result = new MockClient <IWampClientProxy <MockRaw> >(built, recorder); return(result); }
private static MockClient <IWampClientProxy <MockRaw> > GetCaller(Type scenario, WampMockClientBuilder <MockRaw> builder) { WampMessage <MockRaw> welcome = GetCalls(scenario, Channel.DealerToCaller, new WampMessageType[] { WampMessageType.v2Welcome }) .FirstOrDefault(); NullPlayer <MockRaw> nullPlayer = new NullPlayer <MockRaw>(); IMessageRecorder <MockRaw> messageRecorder = new MessageRecorder <MockRaw>(); IWampClientProxy <MockRaw> built = builder.Create(nullPlayer, messageRecorder, welcome); MockClient <IWampClientProxy <MockRaw> > result = new MockClient <IWampClientProxy <MockRaw> >(built, messageRecorder); return(result); }