Browse Source

Fixed hardcoded redis connection in FunctionalTests

pull/878/head
Ramón Tomás 6 years ago
parent
commit
3011c82a0e
1 changed files with 36 additions and 28 deletions
  1. +36
    -28
      src/Services/Basket/Basket.FunctionalTests/RedisBasketRepositoryTests.cs

+ 36
- 28
src/Services/Basket/Basket.FunctionalTests/RedisBasketRepositoryTests.cs 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.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Moq;
@ -13,54 +15,60 @@ using Xunit;
namespace Basket.FunctionalTests
{
public class RedisBasketRepositoryTests
: BasketScenarioBase
{
private Mock<IOptionsSnapshot<BasketSettings>> _optionsMock;
public RedisBasketRepositoryTests()
{
_optionsMock = new Mock<IOptionsSnapshot<BasketSettings>>();
}
[Fact]
public async Task UpdateBasket_return_and_add_basket()
{
var redisBasketRepository = BuildBasketRepository();
var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId")
using (var server = CreateServer())
{
BuyerId = "buyerId",
Items = BuildBasketItems()
});
var redis = server.Host.Services.GetRequiredService<ConnectionMultiplexer>();
var redisBasketRepository = BuildBasketRepository(redis);
Assert.NotNull(basket);
Assert.Single(basket.Items);
var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId")
{
BuyerId = "buyerId",
Items = BuildBasketItems()
});
Assert.NotNull(basket);
Assert.Single(basket.Items);
}
}
[Fact]
public async Task Delete_Basket_return_null()
{
var redisBasketRepository = BuildBasketRepository();
var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId")
using (var server = CreateServer())
{
BuyerId = "buyerId",
Items = BuildBasketItems()
});
var redis = server.Host.Services.GetRequiredService<ConnectionMultiplexer>();
var redisBasketRepository = BuildBasketRepository(redis);
var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId")
{
BuyerId = "buyerId",
Items = BuildBasketItems()
});
var deleteResult = await redisBasketRepository.DeleteBasketAsync("buyerId");
var deleteResult = await redisBasketRepository.DeleteBasketAsync("buyerId");
var result = await redisBasketRepository.GetBasketAsync(basket.BuyerId);
var result = await redisBasketRepository.GetBasketAsync(basket.BuyerId);
Assert.True(deleteResult);
Assert.Null(result);
Assert.True(deleteResult);
Assert.Null(result);
}
}
RedisBasketRepository BuildBasketRepository()
RedisBasketRepository BuildBasketRepository(ConnectionMultiplexer connMux)
{
var loggerFactory = new LoggerFactory();
var configuration = ConfigurationOptions.Parse("127.0.0.1", true);
configuration.ResolveDns = true;
return new RedisBasketRepository(loggerFactory, ConnectionMultiplexer.Connect(configuration));
return new RedisBasketRepository(loggerFactory, connMux);
}
List<BasketItem> BuildBasketItems()


Loading…
Cancel
Save