/* * 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 , December 2020 */ import blacklist from '../../lib/Blacklist'; import { clock_finalize, clock_setup } from '../Helper'; // eslint-disable-next-line max-lines-per-function describe ('blacklist', () => { beforeAll (() => { clock_setup (); }); afterAll (() => { clock_finalize (); }); 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 (); }); });