31 lines
945 B
D
31 lines
945 B
D
module test.calendarwebapp.testpasshash;
|
|
|
|
import calendarwebapp.passhash;
|
|
|
|
import poodinis;
|
|
|
|
import unit_threaded;
|
|
|
|
@("BcryptPasswordHasher")
|
|
@Values("", "test", "langesKompliziertesPasswort")
|
|
@system unittest
|
|
{
|
|
import botan.rng.rng : RandomNumberGenerator;
|
|
import botan.rng.auto_rng : AutoSeededRNG;
|
|
auto container = new shared DependencyContainer;
|
|
container.register!(RandomNumberGenerator, AutoSeededRNG);
|
|
container.register!(PasswordHasher, BcryptPasswordHasher);
|
|
|
|
auto hasher = container.resolve!PasswordHasher;
|
|
immutable testPassword = getValue!string;
|
|
hasher.checkHash(testPassword, hasher.generateHash(testPassword)).shouldBeTrue;
|
|
}
|
|
|
|
@("StubPasswordHasher")
|
|
@Values("", "test", "langesKompliziertesPasswort")
|
|
@safe unittest
|
|
{
|
|
immutable hasher = new StubPasswordHasher;
|
|
immutable testPassword = getValue!string;
|
|
hasher.checkHash(testPassword, hasher.generateHash(testPassword)).shouldBeTrue;
|
|
}
|