using System.Text.Json.Serialization;
using Bit.Core.Tokens;

namespace Bit.Core.Test.Tokens;

public class TestTokenable : Tokenable
{
    public bool ForceInvalid { get; set; } = false;

    [JsonIgnore]
    public override bool Valid => !ForceInvalid;
}

public class TestExpiringTokenable : ExpiringTokenable
{
    private bool _forceInvalid;

    public TestExpiringTokenable() : this(false) { }

    public TestExpiringTokenable(bool forceInvalid)
    {
        _forceInvalid = forceInvalid;
    }
    protected override bool TokenIsValid() => !_forceInvalid;
}