public void GetHttpClient() { IPlayerHttpClientFactory factory = new PlayerHttpClientFactory(); var client1 = factory.GetHttpClient("http://someapi.com") as PlayerHttpClient; Assert.NotNull(client1); Assert.Equal("http://someapi.com/", client1 !.client.BaseAddress !.AbsoluteUri); var client2 = factory.GetHttpClient("http://someapi.com/") as PlayerHttpClient; Assert.Equal(client1, client2); }
private static GameConfiguration GetGameConfiguration(IEnumerable <KeyValuePair <string, string> > settings) { var playerClientFactory = new PlayerHttpClientFactory(); var configuration = new ConfigurationBuilder() .AddInMemoryCollection(settings) .AddJsonFile(Path.Combine(Environment.CurrentDirectory, "appsettings.json"), true, false) .AddEnvironmentVariables() .Build(); var jsonOptions = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase, }; var logger = new LoggerConfiguration() .MinimumLevel.Information() .WriteTo.Console() .CreateLogger(); var gameFactory = new SinglePlayerGameFactory(new RandomBoardFiller()); return(new GameConfiguration(playerClientFactory, gameFactory, configuration, jsonOptions, logger)); }