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.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,54 +15,60 @@ 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 basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId")
|
|
||||||
{
|
{
|
||||||
BuyerId = "buyerId",
|
var redis = server.Host.Services.GetRequiredService<ConnectionMultiplexer>();
|
||||||
Items = BuildBasketItems()
|
|
||||||
});
|
|
||||||
|
|
||||||
Assert.NotNull(basket);
|
var redisBasketRepository = BuildBasketRepository(redis);
|
||||||
Assert.Single(basket.Items);
|
|
||||||
|
var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId")
|
||||||
|
{
|
||||||
|
BuyerId = "buyerId",
|
||||||
|
Items = BuildBasketItems()
|
||||||
|
});
|
||||||
|
|
||||||
|
Assert.NotNull(basket);
|
||||||
|
Assert.Single(basket.Items);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task Delete_Basket_return_null()
|
public async Task Delete_Basket_return_null()
|
||||||
{
|
{
|
||||||
var redisBasketRepository = BuildBasketRepository();
|
|
||||||
|
|
||||||
var basket = await redisBasketRepository.UpdateBasketAsync(new CustomerBasket("customerId")
|
using (var server = CreateServer())
|
||||||
{
|
{
|
||||||
BuyerId = "buyerId",
|
var redis = server.Host.Services.GetRequiredService<ConnectionMultiplexer>();
|
||||||
Items = BuildBasketItems()
|
|
||||||
});
|
|
||||||
|
|
||||||
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);
|
var deleteResult = await redisBasketRepository.DeleteBasketAsync("buyerId");
|
||||||
Assert.Null(result);
|
|
||||||
|
var result = await redisBasketRepository.GetBasketAsync(basket.BuyerId);
|
||||||
|
|
||||||
|
Assert.True(deleteResult);
|
||||||
|
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()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user