// 2012-10-04 johnpfeiffer
package net.kittyandbear;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.net.URL;
import java.util.UUID;
import org.junit.Before;
import org.junit.Test;
public class NirvanixConnectionTest
{
private static final String CLASSVERSION = "0.35";
private static final String DEFAULTAPIHOSTNAME = "services.nirvanix.com";
private static final String DEFAULTUSERNAME = "companyQA";
private static final String DEFAULTPASSWORD = "example";
private static final String DEFAULTAPPNAME = "company_QA";
private static final String DEFAULTAPPKEY = "example-fed9-4e21-af53-b7e710e542ee";
private static final String DEFAULTACCOUNTEMAIL = "user@company.com";
private NirvanixConnection testerDefault;
@Before
public void setUp() throws Exception
{
String urlString = "https://" + DEFAULTAPIHOSTNAME + "/ws/Authentication/Login.ashx?appKey=" + DEFAULTAPPKEY + "&username=" + DEFAULTUSERNAME
+ "&password=" + DEFAULTPASSWORD + "&output=json";
URL apiAuthenticationUrl = new URL( urlString );
testerDefault = new NirvanixConnection( apiAuthenticationUrl , DEFAULTUSERNAME , DEFAULTAPPNAME );
}
@Test
public void testGetVersion()
{
assertEquals( CLASSVERSION , NirvanixConnection.getClassVersion() );
}
@Test
public void testSessionTokenNotNull()
{
assertNotNull( testerDefault.getSessionToken() );
}
@Test
public void testSessionTokenFormat()
{
assertTrue( testerDefault.isValidSessionTokenFormat() );
}
@Test
public void testGetAccountUserName()
{
assertEquals( DEFAULTUSERNAME , testerDefault.getAccountUserName() );
}
@Test
public void testGetAccountEmail()
{
assertEquals( DEFAULTACCOUNTEMAIL , testerDefault.getAccountUserEmailAddress() );
}
/*
@Test
public void testNirvanixConnectionIBM() throws Exception
{
final String ibmApiHostName = "services.smartcloudobjectstorage.com";
final String ibmUserName = "Oxygen-Cloud-IBM-Lab";
final String ibmPassword = "ThePassword";
final String ibmAppName = "Oxygen-Cloud-IBM-Lab_default";
final String ibmAppKey = "7ec360a4-be3c-41f0-8d87-8495a2932c6f";
String urlString = "https://" + ibmApiHostName + "/ws/Authentication/Login.ashx?appKey=" + ibmAppKey + "&username=" + ibmUserName
+ "&password=" + ibmPassword + "&output=json";
URL apiAuthenticationUrl = new URL( urlString );
NirvanixConnection ibm = new NirvanixConnection( apiAuthenticationUrl , ibmUserName , ibmAppName );
String sessionToken = ibm.getSessionToken();
assertNotNull( sessionToken );
try{
UUID.fromString( sessionToken );
}catch( IllegalArgumentException e )
{
fail( "Expected IllegalArgumentException" );
}
assertEquals( ibmUserName , ibm.getAccountUserName() );
// System.out.println( ibm.getAccountUserEmailAddress() );
}
//ERROR: Nirvanix SDK The session was created with a session token and login cannot be called.
*/
@Test
public void testNirvanixConnectionNirvanixPartnerEnvironment() throws Exception
{
final String apiHostName = "services.stage02.nirvanix.com";
final String userName = "company";
final String password = "ThePassword";
final String appName = "company";
final String appKey = "example-38dc-4439-a06d-ea3c725d91fa";
String urlString = "https://" + apiHostName + "/ws/Authentication/Login.ashx?appKey=" + appKey + "&username=" + userName + "&password=" + password
+ "&output=json";
System.out.println( "DEBUG: " + urlString );
URL apiAuthenticationUrl = new URL( urlString );
NirvanixConnection nirvanixPartnerTest = new NirvanixConnection( apiAuthenticationUrl , userName , appName );
String sessionToken = nirvanixPartnerTest.getSessionToken();
assertNotNull( sessionToken );
try
{
UUID.fromString( sessionToken );
}catch( IllegalArgumentException e )
{
fail( "Expected IllegalArgumentException" );
}
assertEquals( userName , nirvanixPartnerTest.getAccountUserName() );
// System.out.println( ibm.getAccountUserEmailAddress() );
}
} // end class