Fixed hardcoded redis connection in FunctionalTests

This commit is contained in:
Ramón Tomás 2018-11-27 19:19:53 +01:00
parent f7cb3448f2
commit 3011c82a0e

View File

@ -1,5 +1,7 @@
using Microsoft.eShopOnContainers.Services.Basket.API; using Basket.FunctionalTests.Base;
using Microsoft.eShopOnContainers.Services.Basket.API;
using Microsoft.eShopOnContainers.Services.Basket.API.Model; using Microsoft.eShopOnContainers.Services.Basket.API.Model;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Moq; using Moq;
@ -13,18 +15,17 @@ using Xunit;
namespace Basket.FunctionalTests namespace Basket.FunctionalTests
{ {
public class RedisBasketRepositoryTests public class RedisBasketRepositoryTests
: BasketScenarioBase
{ {
private Mock<IOptionsSnapshot<BasketSettings>> _optionsMock;
public RedisBasketRepositoryTests()
{
_optionsMock = new Mock<IOptionsSnapshot<BasketSettings>>();
}
[Fact] [Fact]
public async Task UpdateBasket_return_and_add_basket() public async Task UpdateBasket_return_and_add_basket()
{ {
var redisBasketRepository = BuildBasketRepository(); using (var server = CreateServer())
{
var redis = server.Host.Services.GetRequiredService<ConnectionMultiplexer>();
var redisBasketRepository = BuildBasketRepository(redis);
var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId") var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId")
{ {
@ -36,10 +37,18 @@ namespace Basket.FunctionalTests
Assert.Single(basket.Items); Assert.Single(basket.Items);
} }
}
[Fact] [Fact]
public async Task Delete_Basket_return_null() public async Task Delete_Basket_return_null()
{ {
var redisBasketRepository = BuildBasketRepository();
using (var server = CreateServer())
{
var redis = server.Host.Services.GetRequiredService<ConnectionMultiplexer>();
var redisBasketRepository = BuildBasketRepository(redis);
var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId") var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId")
{ {
@ -54,13 +63,12 @@ namespace Basket.FunctionalTests
Assert.True(deleteResult); Assert.True(deleteResult);
Assert.Null(result); Assert.Null(result);
} }
}
RedisBasketRepository BuildBasketRepository() RedisBasketRepository BuildBasketRepository(ConnectionMultiplexer connMux)
{ {
var loggerFactory = new LoggerFactory(); var loggerFactory = new LoggerFactory();
var configuration = ConfigurationOptions.Parse("127.0.0.1", true); return new RedisBasketRepository(loggerFactory, connMux);
configuration.ResolveDns = true;
return new RedisBasketRepository(loggerFactory, ConnectionMultiplexer.Connect(configuration));
} }
List<BasketItem> BuildBasketItems() List<BasketItem> BuildBasketItems()