public void WhenCalled_SetsValue() { var record = new SingleUseTokenData("value", expiration: new UtcDateTime(DateTimeOffset.UtcNow)); Assert.Equal("value", record.Value); }
public void WhenCalled_SetsExpiration() { var expiration = DateTimeOffset.UtcNow; var record = new SingleUseTokenData("value", new UtcDateTime(expiration)); Assert.Equal(expiration.UtcTicks, record.Expiration.Ticks); }
public virtual Task Create(SingleUseToken token, UtcDateTime expiration) { Guard.Null(nameof(token), token); var record = new SingleUseTokenData(token, expiration); if (record.IsExpired(this._clock)) { throw new InvalidOperationException("Unable to create this token because it will have already expired."); } return(this.Create(record)); }
protected abstract Task Delete(SingleUseTokenData record);
protected abstract Task Create(SingleUseTokenData record);