internal PlanningConnectionFactory(IOptions <PokerConnectionSettings> connectionSettings, IResponseMessageParser responseMessageParser, IPokerConnection pokerConnection, UserCacheProvider userCacheProvider, IPlanningPokerService planningPokerService) { _connectionSettings = connectionSettings ?? throw new ArgumentNullException(nameof(connectionSettings)); _responseMessageParser = responseMessageParser ?? throw new ArgumentNullException(nameof(responseMessageParser)); _pokerConnection = pokerConnection ?? throw new ArgumentNullException(nameof(pokerConnection)); _userCacheProvider = userCacheProvider ?? throw new ArgumentNullException(nameof(userCacheProvider)); _planningPokerService = planningPokerService ?? throw new ArgumentNullException(nameof(planningPokerService)); }
public static IServiceCollection AddPlanningPokerClient(this IServiceCollection services, IConfigurationRoot configuration) { services.Configure <PokerConnectionSettings>(options => configuration.GetSection("PokerConnectionSettings").Bind(options)); var validatedConfiguration = IServiceCollectionExtension.ValidateAndRetrieveConfiguration(configuration); var connectionSettings = new PokerConnectionSettings( validatedConfiguration.PlanningSocketUri, validatedConfiguration.PlanningApiUri, validatedConfiguration.PlanningApiKey ); var connectionSettingsOptions = Options.Create(connectionSettings); var messageParser = new MessageParser(); services.AddSingleton(typeof(MessageParser), messageParser); var responseMessageFactories = new List <IResponseMessageFactory>(); responseMessageFactories.Add(new NewSessionResponseMessageFactory(messageParser)); responseMessageFactories.Add(new SubscribeSessionResponseMessageFactory(messageParser)); responseMessageFactories.Add(new JoinSessionResponseMessageFactory(messageParser)); responseMessageFactories.Add(new RefreshSessionMessageFactory(messageParser)); responseMessageFactories.Add(new EndSessionClientMessageFactory(messageParser)); var responseMessageParser = new ResponseMessageParser(messageParser, responseMessageFactories); services.AddSingleton(typeof(IResponseMessageParser), responseMessageParser); var planningPokerSocket = new PlanningPokerSocket(connectionSettingsOptions); services.AddSingleton(typeof(IPokerConnection), planningPokerSocket); var userCacheProvider = new UserCacheProvider(); services.AddSingleton(typeof(UserCacheProvider), userCacheProvider); var httpClient = new HttpClient(); services.AddSingleton(typeof(HttpClient), httpClient); var planningPokerApiService = new PlanningPokerApiService(httpClient, connectionSettingsOptions); services.AddSingleton(typeof(IPlanningPokerService), planningPokerApiService); var planningPokerConnectionFactory = new PlanningConnectionFactory(connectionSettingsOptions, responseMessageParser, planningPokerSocket, userCacheProvider, planningPokerApiService); services.AddSingleton(typeof(IPlanningConnectionFactory), planningPokerConnectionFactory); services = AddResponseMessageFactories(services); return(services); }
public AddUserTests() { _userCacheProvider = new UserCacheProvider(); }
public DeleteUserTests() { _sut = new UserCacheProvider(); }
public UpdateUserTests() { _userCacheProvider = new UserCacheProvider(); }