john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

AppProperties TEST NirvanixServiceTest

// 2012-08-29 johnpfeiffer
// TODO: javascript html form validation tests
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;

import org.junit.Before;
import org.junit.Test;

public class NirvanixServiceTest
{
    private NirvanixService defaultTester = null;
    private static final String EXPECTEDEFAULTHEADER = "";

    @Before
    public void setUp() throws Exception
    {
        defaultTester = new NirvanixService.Builder().build();
    }

    @Test
    public void testNirvanixService()
    {
        String expected = expectedNirvanixString( EXPECTEDEFAULTHEADER , NirvanixService.DEFAULTNIRVANIXISAVAILABLE , NirvanixService.DEFAULTNIRVANIXAPIHOSTNAME ,
                NirvanixService.DEFAULTNIRVANIXUSERNAME , NirvanixService.DEFAULTNIRVANIXPASSWORD , NirvanixService.DEFAULTNIRVANIXAPPKEY ,
                NirvanixService.DEFAULTNIRVANIXAPPNAME );
        assertEquals( expected , defaultTester.getString( EXPECTEDEFAULTHEADER ) );
        String expectedHTML = expectedNirvanixHTMLForm( NirvanixService.DEFAULTNIRVANIXAPIHOSTNAME , NirvanixService.DEFAULTNIRVANIXUSERNAME ,
                NirvanixService.DEFAULTNIRVANIXPASSWORD , NirvanixService.DEFAULTNIRVANIXAPPKEY , NirvanixService.DEFAULTNIRVANIXAPPNAME );
        assertEquals( expectedHTML , defaultTester.getHTMLForm() );
    }

    @Test
    public void testNirvanixServiceIsAvailableTrue()
    {
        final boolean constructorIsAvailable = true;
        NirvanixService apiHostNameTest = new NirvanixService.Builder().isAvailable( constructorIsAvailable ).build();
        String expected = expectedNirvanixString( EXPECTEDEFAULTHEADER , constructorIsAvailable , NirvanixService.DEFAULTNIRVANIXAPIHOSTNAME ,
                NirvanixService.DEFAULTNIRVANIXUSERNAME , NirvanixService.DEFAULTNIRVANIXPASSWORD , NirvanixService.DEFAULTNIRVANIXAPPKEY ,
                NirvanixService.DEFAULTNIRVANIXAPPNAME );
        assertEquals( expected , apiHostNameTest.getString( EXPECTEDEFAULTHEADER ) );
    }

    @Test
    public void testNirvanixServiceIsAvailableFalse()
    {
        final boolean constructorIsAvailable = false;
        NirvanixService apiHostNameTest = new NirvanixService.Builder().isAvailable( constructorIsAvailable ).build();
        String expected = expectedNirvanixString( EXPECTEDEFAULTHEADER , constructorIsAvailable , NirvanixService.DEFAULTNIRVANIXAPIHOSTNAME ,
                NirvanixService.DEFAULTNIRVANIXUSERNAME , NirvanixService.DEFAULTNIRVANIXPASSWORD , NirvanixService.DEFAULTNIRVANIXAPPKEY ,
                NirvanixService.DEFAULTNIRVANIXAPPNAME );
        assertEquals( expected , apiHostNameTest.getString( EXPECTEDEFAULTHEADER ) );
    }

    @Test
    public void testNirvanixServiceApiHostName()
    {
        final String constructorApiHostName = "constructorApiHostName.example";
        NirvanixService apiHostNameTest = new NirvanixService.Builder().apihostname( constructorApiHostName ).build();
        String expected = expectedNirvanixString( EXPECTEDEFAULTHEADER , NirvanixService.DEFAULTNIRVANIXISAVAILABLE , constructorApiHostName ,
                NirvanixService.DEFAULTNIRVANIXUSERNAME , NirvanixService.DEFAULTNIRVANIXPASSWORD , NirvanixService.DEFAULTNIRVANIXAPPKEY ,
                NirvanixService.DEFAULTNIRVANIXAPPNAME );
        assertEquals( expected , apiHostNameTest.getString( EXPECTEDEFAULTHEADER ) );
    }

    @Test
    public void testNirvanixServiceApiHostNameNull()
    {
        try
        {
            new NirvanixService.Builder().apihostname( null ).build();
        }catch( IllegalArgumentException iae )
        {
            return;
        }
        fail( "Expected IllegalArgumentException" );
    }

    @Test
    public void testNirvanixServiceUserName()
    {
        final String constructorUsername = "constructorUsername";
        NirvanixService userTest = new NirvanixService.Builder().user( constructorUsername ).build();
        String expected = expectedNirvanixString( EXPECTEDEFAULTHEADER , NirvanixService.DEFAULTNIRVANIXISAVAILABLE , NirvanixService.DEFAULTNIRVANIXAPIHOSTNAME ,
                constructorUsername , NirvanixService.DEFAULTNIRVANIXPASSWORD , NirvanixService.DEFAULTNIRVANIXAPPKEY , NirvanixService.DEFAULTNIRVANIXAPPNAME );
        assertEquals( expected , userTest.getString( EXPECTEDEFAULTHEADER ) );
    }

    @Test
    public void testNirvanixServiceUsernameNull()
    {
        try
        {
            new NirvanixService.Builder().user( null ).build();
        }catch( IllegalArgumentException iae )
        {
            return;
        }
        fail( "Expected IllegalArgumentException" );
    }

    @Test
    public void testNirvanixServicePassword()
    {
        final String constructorPassword = "constructorPassword";
        NirvanixService passwordTest = new NirvanixService.Builder().password( constructorPassword ).build();
        String expected = expectedNirvanixString( EXPECTEDEFAULTHEADER , NirvanixService.DEFAULTNIRVANIXISAVAILABLE , NirvanixService.DEFAULTNIRVANIXAPIHOSTNAME ,
                NirvanixService.DEFAULTNIRVANIXUSERNAME , constructorPassword , NirvanixService.DEFAULTNIRVANIXAPPKEY , NirvanixService.DEFAULTNIRVANIXAPPNAME );
        assertEquals( expected , passwordTest.getString( EXPECTEDEFAULTHEADER ) );
    }

    @Test
    public void testNirvanixServicePasswordNull()
    {
        try
        {
            new NirvanixService.Builder().password( null ).build();
        }catch( IllegalArgumentException iae )
        {
            return;
        }
        fail( "Expected IllegalArgumentException" );
    }

    @Test
    public void testNirvanixServiceAppKey()
    {
        final String constructorAppKey = "constructorAppKey-testing";
        NirvanixService appkeyTest = new NirvanixService.Builder().appkey( constructorAppKey ).build();
        String expected = expectedNirvanixString( EXPECTEDEFAULTHEADER , NirvanixService.DEFAULTNIRVANIXISAVAILABLE , NirvanixService.DEFAULTNIRVANIXAPIHOSTNAME ,
                NirvanixService.DEFAULTNIRVANIXUSERNAME , NirvanixService.DEFAULTNIRVANIXPASSWORD , constructorAppKey , NirvanixService.DEFAULTNIRVANIXAPPNAME );
        assertEquals( expected , appkeyTest.getString( EXPECTEDEFAULTHEADER ) );
    }

    @Test
    public void testNirvanixServiceAppKeyNull()
    {
        try
        {
            new NirvanixService.Builder().appkey( null ).build();
        }catch( IllegalArgumentException iae )
        {
            return;
        }
        fail( "Expected IllegalArgumentException" );
    }

    @Test
    public void testNirvanixServiceAppName()
    {
        final String constructorAppName = "constructorAppName";
        NirvanixService appnameTest = new NirvanixService.Builder().appname( constructorAppName ).build();
        String expected = expectedNirvanixString( EXPECTEDEFAULTHEADER , NirvanixService.DEFAULTNIRVANIXISAVAILABLE , NirvanixService.DEFAULTNIRVANIXAPIHOSTNAME ,
                NirvanixService.DEFAULTNIRVANIXUSERNAME , NirvanixService.DEFAULTNIRVANIXPASSWORD , NirvanixService.DEFAULTNIRVANIXAPPKEY , constructorAppName );
        assertEquals( expected , appnameTest.getString( EXPECTEDEFAULTHEADER ) );
    }

    @Test
    public void testNirvanixServiceAppNameNull()
    {
        try
        {
            new NirvanixService.Builder().appkey( null ).build();
        }catch( IllegalArgumentException iae )
        {
            return;
        }
        fail( "Expected IllegalArgumentException" );
    }

    @Test
    public void testNirvanixServiceAppKeyContainsWhitespace()
    {
        try
        {
            new NirvanixService.Builder().isAvailable( true ).appkey( "contains white-space" ).build();
        }catch( IllegalArgumentException iae )
        {
            return;
        }
        fail( "Expected IllegalArgumentException" );
    }

    @Test
    public void testNirvanixServiceAppKeyDoesNotContainDash()
    {
        try
        {
            new NirvanixService.Builder().isAvailable( true ).appkey( "nodash" ).build();
        }catch( IllegalArgumentException iae )
        {
            return;
        }
        fail( "Expected IllegalArgumentException" );
    }

    @Test
    public void testGetString()
    {
        String expected = expectedNirvanixString( EXPECTEDEFAULTHEADER , NirvanixService.DEFAULTNIRVANIXISAVAILABLE , NirvanixService.DEFAULTNIRVANIXAPIHOSTNAME ,
                NirvanixService.DEFAULTNIRVANIXUSERNAME , NirvanixService.DEFAULTNIRVANIXPASSWORD , NirvanixService.DEFAULTNIRVANIXAPPKEY ,
                NirvanixService.DEFAULTNIRVANIXAPPNAME );
        assertEquals( expected , defaultTester.getString( EXPECTEDEFAULTHEADER ) );
    }

    @Test
    public void testGetHTMLForm()
    {
        String expectedHTML = expectedNirvanixHTMLForm( NirvanixService.DEFAULTNIRVANIXAPIHOSTNAME , NirvanixService.DEFAULTNIRVANIXUSERNAME ,
                NirvanixService.DEFAULTNIRVANIXPASSWORD , NirvanixService.DEFAULTNIRVANIXAPPKEY , NirvanixService.DEFAULTNIRVANIXAPPNAME );
        assertEquals( expectedHTML , defaultTester.getHTMLForm() );
    }

    @Test
    public void getValidateFormOnSubmit()
    {
        String expectedJavascript = expectedValidateFormOnSubmit();
        assertEquals( expectedJavascript , NirvanixService.getValidateFormOnSubmit() );
    }

    private String expectedNirvanixString( String header , boolean nirvanixIsAvailable , String nirvanixApiHostName , String nirvanixUsername ,
            String nirvanixPassword , String nirvanixAppKey , String nirvanixAppName )
    {
        StringBuilder strb = new StringBuilder();
        String newline = System.getProperty( "line.separator" );
        strb.append( header + NirvanixService.PARAMNIRVANIXISAVAILABLE + "=" + nirvanixIsAvailable + newline );
        strb.append( header + NirvanixService.PARAMNIRVANIXAPIHOSTNAME + "=" + nirvanixApiHostName + newline );
        strb.append( header + NirvanixService.PARAMNIRVANIXUSERNAME + "=" + nirvanixUsername + newline );
        strb.append( header + NirvanixService.PARAMNIRVANIXPASSWORD + "=" + nirvanixPassword + newline );
        strb.append( header + NirvanixService.PARAMNIRVANIXAPPKEY + "=" + nirvanixAppKey + newline );
        strb.append( header + NirvanixService.PARAMNIRVANIXAPPNAME + "=" + nirvanixAppName + newline );
        strb.append( header + NirvanixService.PARAMNIRVANIXSTORAGEFOLDER + "=" + NirvanixService.DEFAULTNIRVANIXSTORAGEFOLDER + newline );
        return strb.toString();
    }

    private String expectedNirvanixHTMLForm( String nirvanixApiHostName , String nirvanixUsername , String nirvanixPassword , String nirvanixAppKey ,
            String nirvanixAppName )
    {
        StringBuilder strb = new StringBuilder();
        String newline = "<br /><br />" + System.getProperty( "line.separator" );
        String space = "&#xA0;";

        strb.append( "<label>Nirvanix Username:</label>" + space + space + "<input type='text' id='" + NirvanixService.PARAMNIRVANIXUSERNAME + "' name='"
                + NirvanixService.PARAMNIRVANIXUSERNAME + "' size='60' value='" + JohnStringUtils.safeHTML( nirvanixUsername ) + "' /> " + newline );
        strb.append( "<label>Nirvanix Password:</label>" + space + space + "<input type='text' id='" + NirvanixService.PARAMNIRVANIXPASSWORD + "' name='"
                + NirvanixService.PARAMNIRVANIXPASSWORD + "' size='40' value='" + JohnStringUtils.safeHTML( nirvanixPassword ) + "' /> " + newline );
        strb.append( "<label>Nirvanix AppName:</label>" + space + space + "<input type='text' id='" + NirvanixService.PARAMNIRVANIXAPPNAME + "' name='"
                + NirvanixService.PARAMNIRVANIXAPPNAME + "' size='40' value='" + JohnStringUtils.safeHTML( nirvanixAppName ) + "' /> " + newline );
        strb.append( "<label>Nirvanix AppKey:</label>" + space + space + "<input type='text' id='" + NirvanixService.PARAMNIRVANIXAPPKEY + "' name='"
                + NirvanixService.PARAMNIRVANIXAPPKEY + "' size='40' value='" + JohnStringUtils.safeHTML( nirvanixAppKey ) + "' /> " + newline );

        strb.append( "<label>Nirvanix API Hostname (only applicable if not using services.nirvanix.com):</label>" + space + space + "<input type='text' name='"
                + NirvanixService.PARAMNIRVANIXAPIHOSTNAME + "' size='40' value='" + JohnStringUtils.safeHTML( nirvanixApiHostName ) + "' /> " + newline );
        return strb.toString();
    }

    // TODO: more generic validation from the Data Model
    protected static String expectedValidateFormOnSubmit()
    {
        StringBuilder strb = new StringBuilder();
        String newline = System.getProperty( "line.separator" );
        strb.append( newline + "<script type='text/javascript'>" + newline );
        strb.append( "function validateFormOnSubmit()  {" + newline );

        strb.append( "var userinput=document.getElementById( '" + NirvanixService.PARAMNIRVANIXUSERNAME + "' ).value;" + newline );
        strb.append( "if( userinput==null || userinput=='' )" + newline );
        strb.append( "{ alert('Error: " + NirvanixService.PARAMNIRVANIXUSERNAME + " cannot be blank');" + newline );
        strb.append( " return false; }" + newline );

        strb.append( "var userinput=document.getElementById( '" + NirvanixService.PARAMNIRVANIXPASSWORD + "' ).value;" + newline );
        strb.append( "if( userinput==null || userinput=='' )" + newline );
        strb.append( "{ alert('Error: " + NirvanixService.PARAMNIRVANIXPASSWORD + " cannot be blank');" + newline );
        strb.append( " return false; }" + newline );

        strb.append( "var userinput=document.getElementById( '" + NirvanixService.PARAMNIRVANIXAPPNAME + "' ).value;" + newline );
        strb.append( "if( userinput==null || userinput=='' )" + newline );
        strb.append( "{ alert('Error: " + NirvanixService.PARAMNIRVANIXAPPNAME + " cannot be blank');" + newline );
        strb.append( " return false; }" + newline );

        strb.append( "var userinput=document.getElementById( '" + NirvanixService.PARAMNIRVANIXAPPKEY + "' ).value;" + newline );
        strb.append( "if( userinput==null || userinput=='' )" + newline );
        strb.append( "{ alert('Error: " + NirvanixService.PARAMNIRVANIXAPPKEY + " cannot be blank');" + newline );
        strb.append( " return false; }" + newline );

        strb.append( "}" + newline );
        strb.append( "</script>" + newline );
        return strb.toString();
    }

} // end class

  • « AppProperties TEST StorageGatewayServiceTest
  • HttpConnect simple »

Published

Aug 30, 2012

Category

java-servlet

~730 words

Tags

  • appproperties 18
  • java-servlet 61
  • nirvanixservicetest 1
  • test 29