package hudson.plugins.emailext.groovy.sandbox; import org.junit.Test; import javax.annotation.CheckForNull; import javax.mail.Part; import javax.mail.Session; import javax.mail.internet.MimeMessage; import java.lang.reflect.Method; import static org.junit.Assert.*; /** * Tests {@link ObjectInstanceWhitelist} */ public class ObjectInstanceWhitelistTest { @Test public void permitsInstance() throws Exception { String i = "instance"; ObjectInstanceWhitelist<String> str = new ObjectInstanceWhitelist<String>(i) {}; assertTrue(str.permitsInstance(i)); } @Test public void methodInSubInterface() throws Exception { MimeMessage message = new MimeMessage((Session) null); MimeMessageInstanceWhitelist whitelist = new MimeMessageInstanceWhitelist(message); Method lineCount = Part.class.getDeclaredMethod("getLineCount"); assertNotNull(lineCount); assertTrue(whitelist.permitsMethod(lineCount, message, new Object[0])); } @Test public void isClass() throws Exception { MimeMessage message = new MimeMessage((Session) null); ObjectInstanceWhitelist<MimeMessage> str = new ObjectInstanceWhitelist<MimeMessage>(message) {}; assertTrue(str.isClass(Part.class)); } }