blob: 2efc7dcab87651d6194d9a36922669aa97775e16 [file] [log] [blame]
using System.Collections.Generic;
using System.Threading.Tasks;
using Casbin.Model;
using Casbin.Persist;
using Casbin.Persist.Adapter.File;
namespace Casbin.UnitTests.Mock;
public class MockSingleAdapter : FileAdapter, ISingleAdapter
{
public List<string> SavedPolicies { get; } = new();
public MockSingleAdapter(string filePath) : base(filePath)
{
}
public void AddPolicy(string section, string policyType, IPolicyValues rule)
{
SavedPolicies.Add($"AddPolicy: {section}.{policyType} {rule.ToText()}");
}
public Task AddPolicyAsync(string section, string policyType, IPolicyValues rule)
{
SavedPolicies.Add($"AddPolicyAsync: {section}.{policyType} {rule.ToText()}");
#if NET452
return Task.FromResult(0);
#else
return Task.CompletedTask;
#endif
}
public void UpdatePolicy(string section, string policyType, IPolicyValues oldRule, IPolicyValues newRule)
{
SavedPolicies.Add($"UpdatePolicy: {section}.{policyType} {oldRule.ToText()} -> {newRule.ToText()}");
}
public Task UpdatePolicyAsync(string section, string policyType, IPolicyValues oldRules, IPolicyValues newRules)
{
SavedPolicies.Add($"UpdatePolicyAsync: {section}.{policyType} {oldRules.ToText()} -> {newRules.ToText()}");
#if NET452
return Task.FromResult(0);
#else
return Task.CompletedTask;
#endif
}
public void RemovePolicy(string section, string policyType, IPolicyValues rule)
{
SavedPolicies.Add($"RemovePolicy: {section}.{policyType} {rule.ToText()}");
}
public Task RemovePolicyAsync(string section, string policyType, IPolicyValues rule)
{
SavedPolicies.Add($"RemovePolicyAsync: {section}.{policyType} {rule.ToText()}");
#if NET452
return Task.FromResult(0);
#else
return Task.CompletedTask;
#endif
}
public void ClearSavedPolicies()
{
SavedPolicies.Clear();
}
}