blob: ee384925481f09af147f984eb9fe154accc19a79 [file] [log] [blame]
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using Casbin.Model;
using Casbin.UnitTests.Extensions;
namespace Casbin.UnitTests.ParallelTest
{
public class DefaultRemovePolicyTransaction<TRequest> : ITransaction<TRequest> where TRequest : IRequestValues
{
private List<TRequest> _requests = [];
public bool ExpectedResult { get; private set; } = false;
public bool ActualResult { get; private set; } = true;
public bool HasCompleted { get; private set; } = false;
public DefaultRemovePolicyTransaction(TRequest request)
{
_requests.Add(request);
}
public async Task<bool> ExecuteAsync(IConsumer<TRequest> consumer)
{
ActualResult = await consumer.RemovePolicyAsync(Request.First());
HasCompleted = true;
return true;
}
public void SetTruth(IEnforcer enforcer)
{
ExpectedResult = enforcer.RemovePolicy(Request.First().ToEnumerable());
}
public IEnumerable<TRequest> Request { get { return _requests; } }
public TransactionType TransactionType { get; } = TransactionType.RemovePolicy;
}
}