mirror of
https://github.com/bitwarden/server.git
synced 2024-11-25 12:45:18 +01:00
e2c6fc81f4
* Implement draft token service * Add tokenizer and factory * Handle expiring tokens through base class * Allow direct token validity checks * Add safe unprotect to tokenizer * Add interface to tokenizer factory * Use tokenizer * Fix rebase * Handle cleartext prefix in tokenizer base * Use epoch milliseconds for expiration in tokens * Use tokenizers * Test tokens * Linter fixes * Add TokenizerFactory to DI services * Test epoch milliseconds deserialization * Use separate injectables for each token type * Fix directory * Add functional unprotect to token * Fix namespace and correct object names * Remove Tokenable interface * Test remaining Tokens classes * Dotnet format * Fix sut provider errors with update * Remove useless property Co-authored-by: Hinton <oscar@oscarhinton.com>
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using AutoFixture.Xunit2;
|
|
using Bit.Core.Tokens;
|
|
using Xunit;
|
|
|
|
namespace Bit.Core.Test.Tokens
|
|
{
|
|
public class TokenTests
|
|
{
|
|
[Theory, AutoData]
|
|
public void InitializeWithString_ReturnsString(string initString)
|
|
{
|
|
var token = new Token(initString);
|
|
|
|
Assert.Equal(initString, token.ToString());
|
|
}
|
|
|
|
[Theory, AutoData]
|
|
public void AddsPrefix(Token token, string prefix)
|
|
{
|
|
Assert.Equal($"{prefix}{token.ToString()}", token.WithPrefix(prefix).ToString());
|
|
}
|
|
|
|
[Theory, AutoData]
|
|
public void RemovePrefix_WithPrefix_RemovesPrefix(string initString, string prefix)
|
|
{
|
|
var token = new Token(initString).WithPrefix(prefix);
|
|
|
|
Assert.Equal(initString, token.RemovePrefix(prefix).ToString());
|
|
}
|
|
|
|
[Theory, AutoData]
|
|
public void RemovePrefix_WithoutPrefix_Throws(Token token, string prefix)
|
|
{
|
|
var exception = Assert.Throws<BadTokenException>(() => token.RemovePrefix(prefix));
|
|
|
|
Assert.Equal($"Expected prefix, {prefix}, was not present.", exception.Message);
|
|
}
|
|
}
|
|
}
|