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