Fixed hardcoded redis connection in FunctionalTests
This commit is contained in:
parent
f7cb3448f2
commit
3011c82a0e
@ -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>();
|
||||
|
||||
Assert.NotNull(basket);
|
||||
Assert.Single(basket.Items);
|
||||
var redisBasketRepository = BuildBasketRepository(redis);
|
||||
|
||||
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 deleteResult = await redisBasketRepository.DeleteBasketAsync("buyerId");
|
||||
var redisBasketRepository = BuildBasketRepository(redis);
|
||||
|
||||
var result = await redisBasketRepository.GetBasketAsync(basket.BuyerId);
|
||||
var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId")
|
||||
{
|
||||
BuyerId = "buyerId",
|
||||
Items = BuildBasketItems()
|
||||
});
|
||||
|
||||
Assert.True(deleteResult);
|
||||
Assert.Null(result);
|
||||
var deleteResult = await redisBasketRepository.DeleteBasketAsync("buyerId");
|
||||
|
||||
var result = await redisBasketRepository.GetBasketAsync(basket.BuyerId);
|
||||
|
||||
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…
x
Reference in New Issue
Block a user