public void UsageTest() { var resetEvent = new ManualResetEvent(false); var location = new Uri("ws://localhost"); var host = new StyxHost(location); host.RegisterRoute("/test", () => new TestRoute()); host.RegisterRoute("/test/{message}", h => { h.Send(h.Route.Message as string); h.OnMessage = h.Send; }); host.RegisterRoute("/test/ahoy", c => c.Send("ahoy"), () => Console.WriteLine("Closed")); host.RegisterRoute("/test/query", h => { foreach (string key in h.Query.Keys) h.Send(key); }); host.Start(); resetEvent.WaitOne(TimeSpan.FromMinutes(15)); host.Dispose(); }
public void DisposingTheHostShouldDisposeTheSocketListener() { var logger = MockRepository.GenerateMock<ILogger>(); var engine = MockRepository.GenerateMock<IStyxEngine>(); var routeRegister = MockRepository.GenerateMock<IRouteRegister>(); var hostConfiguration = MockRepository.GenerateMock<IHostConfiguration>(); var socketListener = MockRepository.GenerateStrictMock<ISocketListener>(); socketListener.Expect(s => s.Dispose()).Repeat.Once(); var bootstrapper = MockRepository.GenerateStrictMock<IBootstrapper>(); bootstrapper.Expect(b => b.Logger).Return(logger); bootstrapper.Expect(b => b.Engine).Return(engine); bootstrapper.Expect(b => b.RouteRegister).Return(routeRegister); bootstrapper.Expect(b => b.SocketListener).Return(socketListener); bootstrapper.Expect(b => b.HostConfiguration).Return(hostConfiguration); var uri = new Uri("ws://localhost"); var host = new StyxHost(uri, bootstrapper: bootstrapper); host.Dispose(); }