67 lines
1.7 KiB
TypeScript
67 lines
1.7 KiB
TypeScript
|
/*
|
||
|
* Copyright (C) Sapphirecode - All Rights Reserved
|
||
|
* This file is part of Auth-Server-Helper which is released under MIT.
|
||
|
* See file 'LICENSE' for full license details.
|
||
|
* Created by Timo Hocker <timo@scode.ovh>, December 2020
|
||
|
*/
|
||
|
|
||
|
import blacklist from '../../lib/Blacklist';
|
||
|
|
||
|
// eslint-disable-next-line max-lines-per-function
|
||
|
describe ('blacklist', () => {
|
||
|
beforeAll (() => {
|
||
|
jasmine.clock ()
|
||
|
.install ();
|
||
|
jasmine.clock ()
|
||
|
.mockDate (new Date);
|
||
|
});
|
||
|
|
||
|
it ('should validate any string', () => {
|
||
|
expect (blacklist.is_valid ('foo'))
|
||
|
.toBeTrue ();
|
||
|
expect (blacklist.is_valid ('bar'))
|
||
|
.toBeTrue ();
|
||
|
expect (blacklist.is_valid ('baz'))
|
||
|
.toBeTrue ();
|
||
|
});
|
||
|
|
||
|
it ('should blacklist strings', () => {
|
||
|
blacklist.add_signature ('foo');
|
||
|
blacklist.add_signature ('bar');
|
||
|
expect (blacklist.is_valid ('foo'))
|
||
|
.toBeFalse ();
|
||
|
expect (blacklist.is_valid ('bar'))
|
||
|
.toBeFalse ();
|
||
|
expect (blacklist.is_valid ('baz'))
|
||
|
.toBeTrue ();
|
||
|
});
|
||
|
|
||
|
it ('should remove one string', () => {
|
||
|
blacklist.remove_signature ('foo');
|
||
|
expect (blacklist.is_valid ('foo'))
|
||
|
.toBeTrue ();
|
||
|
expect (blacklist.is_valid ('bar'))
|
||
|
.toBeFalse ();
|
||
|
expect (blacklist.is_valid ('baz'))
|
||
|
.toBeTrue ();
|
||
|
});
|
||
|
|
||
|
it ('should clear after time', () => {
|
||
|
jasmine.clock ()
|
||
|
.tick (5000);
|
||
|
blacklist.add_signature ('baz');
|
||
|
blacklist.clear_before (new Date (Date.now () - 100));
|
||
|
expect (blacklist.is_valid ('foo'))
|
||
|
.toBeTrue ();
|
||
|
expect (blacklist.is_valid ('bar'))
|
||
|
.toBeTrue ();
|
||
|
expect (blacklist.is_valid ('baz'))
|
||
|
.toBeFalse ();
|
||
|
});
|
||
|
|
||
|
afterAll (() => {
|
||
|
jasmine.clock ()
|
||
|
.uninstall ();
|
||
|
});
|
||
|
});
|