private static WampListener <TMessage> GetWampListener(IWampConnectionListener <TMessage> connectionListener, IWampFormatter <TMessage> formatter, IWampServer <TMessage> server) { IWampClientBuilderFactory <TMessage, IWampClient> clientBuilderFactory = GetWampClientBuilder(formatter); IWampClientContainer <TMessage, IWampClient> clientContainer = new WampClientContainer <TMessage>(clientBuilderFactory); IWampRequestMapper <TMessage> requestMapper = new WampRequestMapper <TMessage>(server.GetType(), formatter); WampMethodBuilder <TMessage, IWampClient> methodBuilder = new WampMethodBuilder <TMessage, IWampClient>(server, formatter); IWampIncomingMessageHandler <TMessage, IWampClient> wampIncomingMessageHandler = new WampIncomingMessageHandler <TMessage, IWampClient> (requestMapper, methodBuilder); return(new WampListener <TMessage> (connectionListener, wampIncomingMessageHandler, clientContainer)); }
private WampListener <TMessage> GetWampListener(IWampConnectionListener <TMessage> connectionListener, IWampBinding <TMessage> binding, IWampOutgoingRequestSerializer outgoingRequestSerializer) { IWampClientBuilderFactory <TMessage, IWampClientProxy <TMessage> > clientBuilderFactory = GetWampClientBuilder(binding, outgoingRequestSerializer); IWampClientContainer <TMessage, IWampClientProxy <TMessage> > clientContainer = new WampClientContainer <TMessage>(clientBuilderFactory); IWampRequestMapper <TMessage> requestMapper = new WampRequestMapper <TMessage>(typeof(WampServer <TMessage>), binding.Formatter); WampRealmMethodBuilder <TMessage> methodBuilder = new WampRealmMethodBuilder <TMessage>(mSession, binding.Formatter); IWampIncomingMessageHandler <TMessage, IWampClientProxy <TMessage> > wampIncomingMessageHandler = new WampIncomingMessageHandler <TMessage, IWampClientProxy <TMessage> > (requestMapper, methodBuilder); return(new WampListener <TMessage> (connectionListener, wampIncomingMessageHandler, clientContainer, mSession)); }
public void UnknownMessageReturnsMissingIfMissingContractClientVersionImplemented(WampMessage <MockRaw> message) { IWampRequestMapper <MockRaw> mapper = new WampRequestMapper <MockRaw>(typeof(MockWampServerWithMissingClient), new MockRawFormatter()); WampMethodInfo mapped = mapper.Map(message); MethodInfo expected = Method.Get((IWampMissingMethodContract <MockRaw, IWampClient> server) => server.Missing(default(IWampClient), default(WampMessage <MockRaw>))); Assert.That(mapped.Method, Is.SameAs(expected)); }
public void CallResult(WampMessage<MockRaw> message) { IWampRequestMapper<MockRaw> mapper = new WampRequestMapper<MockRaw>(typeof(MockWampClient), new MockRawFormatter()); WampMethodInfo mapped = mapper.Map(message); MethodInfo expected = Method.Get((IWampClient<MockRaw> client) => client.CallResult(default(string), default(MockRaw))); Assert.That(mapped.Method, Is.SameAs(expected)); }
public void Prefix(WampMessage<MockRaw> message) { IWampRequestMapper<MockRaw> mapper = new WampRequestMapper<MockRaw>(typeof (MockWampServer), new MockRawFormatter()); WampMethodInfo mapped = mapper.Map(message); MethodInfo expected = Method.Get((IWampServer<MockRaw> server) => server.Prefix(default(IWampClient), default(string), default(string))); Assert.That(mapped.Method, Is.SameAs(expected)); }
public void UnknownMessageReturnsNullIfMissingContractNotImplemented(WampMessage<MockRaw> message) { IWampRequestMapper<MockRaw> mapper = new WampRequestMapper<MockRaw>(typeof(MockWampServer), new MockRawFormatter()); WampMethodInfo mapped = mapper.Map(message); Assert.That(mapped, Is.Null); }
public void UnknownMessageReturnsMissingIfMissingContractImplemented(WampMessage<MockRaw> message) { IWampRequestMapper<MockRaw> mapper = new WampRequestMapper<MockRaw>(typeof(MockWampServerWithMissing), new MockRawFormatter()); WampMethodInfo mapped = mapper.Map(message); MethodInfo expected = Method.Get((IWampMissingMethodContract<MockRaw> server) => server.Missing(default(WampMessage<MockRaw>))); Assert.That(mapped.Method, Is.SameAs(expected)); }