public void CreateClient_OptionsRegistered_CreateClient() { // arrange ServiceProvider sp = new ServiceCollection() .Configure <SocketClientFactoryOptions>( "Foo", x => { }) .BuildServiceProvider(); IOptionsMonitor <SocketClientFactoryOptions> optionsMonitor = sp.GetRequiredService <IOptionsMonitor <SocketClientFactoryOptions> >(); IEnumerable <ISocketProtocolFactory> protocolFactories = Enumerable.Empty <ISocketProtocolFactory>(); var factory = new DefaultSocketClientFactory(optionsMonitor, protocolFactories); // act ISocketClient?client = factory.CreateClient("Foo"); // assert Assert.IsType <WebSocketClient>(client); }
public void CreateClient_OptionsRegistered_ApplyConfig() { // arrange var uri = new Uri("wss://localhost:123"); ServiceProvider sp = new ServiceCollection() .Configure <SocketClientFactoryOptions>( "Foo", x => x.SocketClientActions.Add(x => x.Uri = uri)) .BuildServiceProvider(); IOptionsMonitor <SocketClientFactoryOptions> optionsMonitor = sp.GetRequiredService <IOptionsMonitor <SocketClientFactoryOptions> >(); IEnumerable <ISocketProtocolFactory> protocolFactories = Enumerable.Empty <ISocketProtocolFactory>(); var factory = new DefaultSocketClientFactory(optionsMonitor, protocolFactories); // act ISocketClient?client = factory.CreateClient("Foo"); // assert Assert.Equal(uri, client.Uri); }