/* vim: set ts=2 et sw=2 cindent fo=qroca: */ package com.globant.katari.login.local.view; import org.junit.Test; import org.junit.After; import static org.junit.Assert.*; public class IpBlacklistTest { IpBlacklist blacklist = null; @After public final void cleanup() { if (blacklist != null) { blacklist.destroy(); } } @Test public final void testIsBlacklisted() throws Exception { blacklist = new IpBlacklist(100000, true, false); assertFalse(blacklist.isBlacklisted("1")); blacklist.blacklistIp("1"); assertTrue(blacklist.isBlacklisted("1")); } @Test public final void testIsBlacklisted_timeout() throws Exception { blacklist = new IpBlacklist(1, true, false); assertFalse(blacklist.isBlacklisted("1")); blacklist.blacklistIp("1"); Thread.sleep(500); assertFalse(blacklist.isBlacklisted("1")); } @Test public final void testIsBlacklisted_disabled() throws Exception { blacklist = new IpBlacklist(100000, false, false); assertFalse(blacklist.isBlacklisted("1")); blacklist.blacklistIp("1"); assertFalse(blacklist.isBlacklisted("1")); } @Test public final void testIsBlacklisted_force() throws Exception { blacklist = new IpBlacklist(100000, true, true); assertTrue(blacklist.isBlacklisted("1")); blacklist.blacklistIp("1"); assertTrue(blacklist.isBlacklisted("1")); } @Test(expected = IllegalArgumentException.class) public final void testConstructorPrecondition() throws Exception { blacklist = new IpBlacklist(100000, false, true); } @Test public final void testIsBlacklisted_sameIp() throws Exception { blacklist = new IpBlacklist(1500, true, false); assertFalse(blacklist.isBlacklisted("1")); blacklist.blacklistIp("1"); Thread.sleep(1000); blacklist.blacklistIp("1"); Thread.sleep(1000); assertTrue(blacklist.isBlacklisted("1")); } }