/* * Copyright (C) 2014 Intel Corporation * All rights reserved. */ package com.intel.mtwilson.shiro; import org.junit.Test; import com.intel.mtwilson.shiro.authc.host.*; import static org.junit.Assert.*; /** * * @author jbuhacoff */ public class HostMatchTest { private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(HostMatchTest.class); @Test public void testFilterLocalhostIPv4() { HostAllowCsvFilter filter = new HostAllowCsvFilter("127.0.0.1"); assertTrue(filter.accept("127.0.0.1")); assertFalse(filter.accept("127.0.0.0")); assertFalse(filter.accept("127.0.0.2")); assertFalse(filter.accept("127.0.0.0/24")); assertFalse(filter.accept("192.168.1.100")); assertFalse(filter.accept("hostname")); } @Test public void testFilterLocalhost() { HostAllowCsvFilter filter = new HostAllowCsvFilter("localhost"); assertTrue(filter.accept("localhost")); assertFalse(filter.accept("locahost")); assertFalse(filter.accept("127.0.0.1")); assertFalse(filter.accept("localhost.localdomain")); } @Test public void testFilterCsv() { HostAllowCsvFilter filter = new HostAllowCsvFilter("127.0.0.1,banana.com,192.168.1.100"); assertTrue(filter.accept("127.0.0.1")); assertTrue(filter.accept("banana.com")); assertTrue(filter.accept("192.168.1.100")); assertFalse(filter.accept("localhost")); assertFalse(filter.accept("carrot.com")); } @Test public void testMatch() { HostToken token = new HostToken("127.0.0.1"); HostAllowCsvFilter filter = new HostAllowCsvFilter("127.0.0.1"); HostAuthenticationInfo info = new HostAuthenticationInfo(); info.setPrincipals(null); info.setCredentials(filter); HostCredentialsMatcher matcher = new HostCredentialsMatcher(); assertTrue(matcher.doCredentialsMatch(token, info)); } }