package org.pentaho.platform.repository; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; import org.junit.Test; public class RepositoryDownloadWhitelistTest { @Test public void testDefaultWhitelistPositive() { RepositoryDownloadWhitelist rdwl = new RepositoryDownloadWhitelist(); assertTrue( rdwl.accept( "my picture.gif" ) ); assertTrue( rdwl.accept( "my picture.jpg" ) ); assertTrue( rdwl.accept( "my picture.jpeg" ) ); assertTrue( rdwl.accept( "my picture.png" ) ); assertTrue( rdwl.accept( "my picture.bmp" ) ); assertTrue( rdwl.accept( "my picture.tiff" ) ); assertTrue( rdwl.accept( "my file.csv" ) ); assertTrue( rdwl.accept( "my file.xls" ) ); assertTrue( rdwl.accept( "my file.xlsx" ) ); assertTrue( rdwl.accept( "my file.pdf" ) ); assertTrue( rdwl.accept( "my file.txt" ) ); assertTrue( rdwl.accept( "my file.css" ) ); assertTrue( rdwl.accept( "my file.html" ) ); assertTrue( rdwl.accept( "my file.js" ) ); assertTrue( rdwl.accept( "my file.xml" ) ); assertTrue( rdwl.accept( "my file.doc" ) ); assertTrue( rdwl.accept( "my file.ppt" ) ); assertTrue( rdwl.accept( "my picture.giF" ) ); assertTrue( rdwl.accept( "my picture.jPg" ) ); assertTrue( rdwl.accept( "my picture.jPeg" ) ); assertTrue( rdwl.accept( "my picture.pNg" ) ); assertTrue( rdwl.accept( "my picture.bmP" ) ); assertTrue( rdwl.accept( "my picture.tiFf" ) ); assertTrue( rdwl.accept( "my file.Csv" ) ); assertTrue( rdwl.accept( "my file.Xls" ) ); assertTrue( rdwl.accept( "my file.xlSx" ) ); assertTrue( rdwl.accept( "my file.pDf" ) ); assertTrue( rdwl.accept( "my file.tXt" ) ); assertTrue( rdwl.accept( "my file.csS" ) ); assertTrue( rdwl.accept( "my file.htMl" ) ); assertTrue( rdwl.accept( "my file.Js" ) ); assertTrue( rdwl.accept( "my file.xMl" ) ); assertTrue( rdwl.accept( "my file.dOc" ) ); assertTrue( rdwl.accept( "my file.pPt" ) ); } @Test public void testDefaultWhitelistNegative() { RepositoryDownloadWhitelist rdwl = new RepositoryDownloadWhitelist(); assertFalse( rdwl.accept( "my picture.giff" ) ); assertFalse( rdwl.accept( "my picture.dll" ) ); assertFalse( rdwl.accept( "my picture.exe" ) ); assertFalse( rdwl.accept( "my picture" ) ); assertFalse( rdwl.accept( "my picture.psd" ) ); assertFalse( rdwl.accept( "my picture.xslt" ) ); } @Test public void testNonDefault() { RepositoryDownloadWhitelist rdwl = new RepositoryDownloadWhitelist(); rdwl.setExtensions( "exe,dll" ); assertTrue( rdwl.accept( "my file.exe" ) ); assertTrue( rdwl.accept( "my file.eXe" ) ); assertTrue( rdwl.accept( "my file.dll" ) ); assertTrue( rdwl.accept( "my file.dlL" ) ); assertFalse( rdwl.accept( "my picture.tiff" ) ); assertFalse( rdwl.accept( "my picture.jpg" ) ); assertFalse( rdwl.accept( "my picture.png" ) ); assertTrue( rdwl.getExtensions() .equals( "exe,dll" ) ); } }