// 2012-06-25 johnpfeiffer
import static org.junit.Assert.fail;
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
public class CIFSServiceTest
{
private CIFSService defaultTester;
private CIFSService tester;
@Before
public void setUp()
{
defaultTester = new CIFSService.Builder().build();
}
@Test
public void testCIFSService()
{
String expectedHTMLForm = expectedHTMLForm( CIFSService.DEFAULTCIFSSHARE , CIFSService.DEFAULTCIFSUSER );
assertEquals( CIFSService.DEFAULTCIFSSHARE , defaultTester.getCIFSShare() );
assertEquals( CIFSService.DEFAULTCIFSUSER , defaultTester.getUser() );
assertEquals( CIFSService.DEFAULTCIFSPASSWORD , defaultTester.getPassword() );
assertEquals( expectedHTMLForm , defaultTester.getHTMLForm() );
}
@Test
public void testCIFSServiceCIFSShare()
{
String expected = "//testhostname/share";
tester = new CIFSService.Builder().cifsshare( expected ).build();
assertEquals( expected , tester.getCIFSShare() );
}
@Test
public void testCIFSServiceCIFSShareNull()
{
try
{
new CIFSService.Builder().cifsshare( null ).build();
}catch( IllegalArgumentException iae )
{
return;
}
fail( "Should create IllegalArgumentException" );
}
@Test
public void testCIFSServiceCIFSShareEmpty()
{
try
{
new CIFSService.Builder().cifsshare( "" ).build();
}catch( IllegalArgumentException iae )
{
return;
}
fail( "Should create IllegalArgumentException" );
}
@Test
public void testCIFSServiceCIFSShareContainsWhitespace()
{
try
{
new CIFSService.Builder().cifsshare( "contains whitespace" ).build();
}catch( IllegalArgumentException iae )
{
return;
}
fail( "Should create IllegalArgumentException" );
}
@Test
public void testCIFSServiceUser()
{
String expected = "DOMAIN/testuser";
tester = new CIFSService.Builder().user( expected ).build();
assertEquals( expected , tester.getUser() );
}
@Test
public void testCIFSServiceUserNull()
{
try
{
new CIFSService.Builder().user( null ).build();
}catch( IllegalArgumentException iae )
{
return;
}
fail( "Should create IllegalArgumentException" );
}
@Test
public void testCIFSServicePassword()
{
String expected = "password";
tester = new CIFSService.Builder().password( expected ).build();
assertEquals( expected , tester.getPassword() );
}
@Test
public void testCIFSServicePasswordNull()
{
try
{
new CIFSService.Builder().password( null ).build();
}catch( IllegalArgumentException iae )
{
return;
}
fail( "Should create IllegalArgumentException" );
}
@Test
public void testCIFSServicePasswordContainsWhitespace()
{
try
{
new CIFSService.Builder().password( "contains whitespace" ).build();
}catch( IllegalArgumentException iae )
{
return;
}
fail( "Should create IllegalArgumentException" );
}
@Test
public void testGetCIFSShare()
{
assertEquals( CIFSService.DEFAULTCIFSSHARE , defaultTester.getCIFSShare() );
}
@Test
public void testGetUser()
{
assertEquals( CIFSService.DEFAULTCIFSUSER , defaultTester.getUser() );
}
@Test
public void testGetPassword()
{
assertEquals( CIFSService.DEFAULTCIFSPASSWORD , defaultTester.getPassword() );
}
@Test
public void testGetHTMLForm()
{
String expectedHTMLForm = expectedHTMLForm( CIFSService.DEFAULTCIFSSHARE , CIFSService.DEFAULTCIFSUSER );
assertEquals( expectedHTMLForm , defaultTester.getHTMLForm() );
}
private String expectedHTMLForm( String cifsshare , String user )
{
StringBuilder strb = new StringBuilder();
String newline = "<br /><br />" + System.getProperty( "line.separator" );
String space = " ";
strb.append( "<label>CIFS Server Address: </label>" + space + space + "<input type='text' name='" + CIFSService.PARAMCIFSSHARE + "' size='40' value='"
+ StringUtils.safeHTML( cifsshare ) + "' /> " + newline );
strb.append( "<label>CIFS Username: </label>" + space + space + "<input type='text' name='" + CIFSService.PARAMCIFSUSER + "' size='40' value='"
+ StringUtils.safeHTML( user ) + "' /> " + newline );
strb.append( "<label>CIFS Password: </label>" + space + space + "<input type='password' name='" + CIFSService.PARAMCIFSPASSWORD + "' size='40' /> "
+ newline );
return strb.toString();
}
} // end class