|
From: <tre...@us...> - 2008-01-01 21:34:50
|
Revision: 659
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=659&view=rev
Author: trevorolio
Date: 2008-01-01 13:34:54 -0800 (Tue, 01 Jan 2008)
Log Message:
-----------
WARNING: DB SCHEMA CHANGE
Added an emailValid field to account records, their XML docs, and the Java APIs.
Fixed up the existing email validation framework to update this value.
Added an email validation test to the integration test suite.
Modified Paths:
--------------
maven/trunk/ogoglio-integration-test/src/test/java/com/ogoglio/client/test/ClientTest.java
maven/trunk/ogoglio-integration-test/src/test/java/com/ogoglio/client/test/WebAPITest.java
maven/trunk/ogoglio-integration-test/src/test/resources/basic-config.properties
Modified: maven/trunk/ogoglio-integration-test/src/test/java/com/ogoglio/client/test/ClientTest.java
===================================================================
--- maven/trunk/ogoglio-integration-test/src/test/java/com/ogoglio/client/test/ClientTest.java 2008-01-01 21:34:46 UTC (rev 658)
+++ maven/trunk/ogoglio-integration-test/src/test/java/com/ogoglio/client/test/ClientTest.java 2008-01-01 21:34:54 UTC (rev 659)
@@ -16,10 +16,11 @@
import java.awt.Dimension;
import java.awt.Shape;
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileNotFoundException;
+import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
+import java.io.LineNumberReader;
import java.net.Socket;
import java.net.URI;
import java.net.URISyntaxException;
@@ -51,6 +52,7 @@
import com.ogoglio.client.model.SplinePath;
import com.ogoglio.client.model.Thing;
import com.ogoglio.client.model.User;
+import com.ogoglio.util.ArgumentUtils;
import com.ogoglio.util.Log;
import com.ogoglio.util.PropStorage;
import com.ogoglio.util.StreamUtils;
@@ -97,7 +99,9 @@
String mikeBodyTextureResourcePath = "sample-art3d/TestBodyTexture-Mike.jpg";
String testAccountPhotoPath = "sample-art3d/TestAccountPhoto.jpg";
-
+
+ File mailDirectory = null;
+
public void setUp() {
try {
PropStorage ps = new PropStorage();
@@ -110,7 +114,8 @@
linkURI1 = new URI("http://example.com/");
wire1 = new WebAPIClientWire();
descriptor1 = new WebAPIDescriptor(serviceURI1);
-
+ mailDirectory = new File(ps.getKeyFromSet(PropStorage.BASIC_PROPS, "ogoglio.mailDirectory"));
+ ArgumentUtils.assertReadableDir(mailDirectory, true);
} catch (Throwable e) {
e.printStackTrace();
fail(e.getMessage());
@@ -214,13 +219,18 @@
assertNull(guestWebClient.createAccount("shouldnotexist" + System.currentTimeMillis(), AccountDocument.ACCOUNT_LEVEL_BASIC, "Test", "Sims", null, System.currentTimeMillis() + "@example.com", "1234"));
String username = "testuser" + Math.abs(new Random().nextLong());
- adminWebClient.createAccount(username, AccountDocument.ACCOUNT_LEVEL_BASIC, "Test", "Sims", null, username + "@example.com", "1234");
-
- AccountDocument accountDoc = adminWebClient.getAccountDocument(username);
+ AccountDocument accountDoc = adminWebClient.createAccount(username, AccountDocument.ACCOUNT_LEVEL_BASIC, "Test", "Sims", null, username + "@example.com", "1234");
assertNotNull(accountDoc);
assertEquals("Test", accountDoc.getFirstName());
assertEquals("Sims", accountDoc.getLastName());
+ assertFalse(accountDoc.isEmailValid());
+ String emailValidationURL = getLastEmailValidationURL(accountDoc.getEmail());
+ assertNotNull(emailValidationURL);
+ StreamUtils.discardInput(wire1.performGET(URI.create(emailValidationURL), null));
+ accountDoc = adminWebClient.getAccountDocument(username);
+ assertTrue(accountDoc.isEmailValid());
+
Date frozenDate = new Date(System.currentTimeMillis() + 1000000);
accountDoc.setFrozenUntil(frozenDate);
accountDoc.setAccountLevel(AccountDocument.ACCOUNT_LEVEL_ADMIN);
@@ -281,6 +291,39 @@
assertNull(basicWebClient.getBodyTexture(basicAuthenticator.getUsername(), configDoc.getBodyConfigurationID()));
}
+ private String getLastEmailValidationURL(String email) throws IOException {
+ File[] mailFiles = mailDirectory.listFiles();
+ File emailFile = null;
+ for (int i = 0; i < mailFiles.length; i++) {
+ if(containsString(email, mailFiles[i])){
+ emailFile = mailFiles[i];
+ break;
+ }
+ }
+ if(emailFile == null){
+ return null;
+ }
+ LineNumberReader input = new LineNumberReader(new FileReader(emailFile));
+ String line;
+ while((line = input.readLine()) != null){
+ if(line.startsWith("http://")){
+ return line.trim();
+ }
+ }
+ return null;
+ }
+
+ private boolean containsString(String target, File file) throws IOException {
+ LineNumberReader input = new LineNumberReader(new FileReader(file));
+ String line;
+ while((line = input.readLine()) != null){
+ if(line.indexOf(target) != -1){
+ return true;
+ }
+ }
+ return false;
+ }
+
public void testWebAPIClient() throws IOException {
SpaceClient spaceClient1 = null;
SpaceClient guestSpaceClient1 = null;
@@ -301,14 +344,14 @@
assertNull(basicClient.createSpace("Tina's Illegal Space Which She Should Not Be Able To Create"));
checkAccountPhoto(basicClient);
-
+
checkNoConnectionToSpaceWithoutAuth(spaceDocument.getSpaceID());
checkAuthDoc(advancedAuth, basicAuth);
spaceDocument = checkSpaceSeaLevel(advancedClient, spaceDocument);
spaceDocument = checkBackgroundColor(advancedClient, spaceDocument);
-
+
checkSettings(spaceDocument.getSpaceID(), advancedClient);
TemplateDocument newTemplateDoc = checkTemplateScriptAPI(advancedClient);
@@ -610,8 +653,8 @@
}
private SpaceDocument checkBackgroundColor(WebAPIClient advancedClient, SpaceDocument spaceDocument) throws IOException {
- advancedClient.setSpaceBackgroundColor(spaceDocument.getSpaceID(), new float[]{ 0.5f, 0.5f, 0.5f });
-
+ advancedClient.setSpaceBackgroundColor(spaceDocument.getSpaceID(), new float[] { 0.5f, 0.5f, 0.5f });
+
spaceDocument = advancedClient.getSpaceDocument(spaceDocument.getSpaceID(), false);
assertEquals(0.5, spaceDocument.getBackgroundColor()[0], 0.0001);
assertEquals(0.5, spaceDocument.getBackgroundColor()[1], 0.0001);
@@ -1102,7 +1145,7 @@
public void receivedUserContextMenuRequest(User user, int x, int y) {
// TODO Auto-generated method stub
-
+
}
}
Modified: maven/trunk/ogoglio-integration-test/src/test/java/com/ogoglio/client/test/WebAPITest.java
===================================================================
--- maven/trunk/ogoglio-integration-test/src/test/java/com/ogoglio/client/test/WebAPITest.java 2008-01-01 21:34:46 UTC (rev 658)
+++ maven/trunk/ogoglio-integration-test/src/test/java/com/ogoglio/client/test/WebAPITest.java 2008-01-01 21:34:54 UTC (rev 659)
@@ -47,7 +47,7 @@
notAuthedAuthDoc = new AuthDocument("Ian", false, AccountDocument.ACCOUNT_LEVEL_BASIC);
authedAuthDoc = new AuthDocument("Ian", true, AccountDocument.ACCOUNT_LEVEL_BASIC);
- accountDoc = new AccountDocument(authedAuthDoc.getUsername(), AccountDocument.ACCOUNT_LEVEL_ADVANCED, null, null, null, null, null, AccountDocument.NO_TIME_VALUE, null, AccountDocument.NO_TIME_VALUE, 1, null, null);
+ accountDoc = new AccountDocument(authedAuthDoc.getUsername(), AccountDocument.ACCOUNT_LEVEL_ADVANCED, null, null, null, null, null, false, AccountDocument.NO_TIME_VALUE, null, AccountDocument.NO_TIME_VALUE, 1, null, null);
} catch (URISyntaxException e) {
fail("Bad URIL: " + e);
}
Modified: maven/trunk/ogoglio-integration-test/src/test/resources/basic-config.properties
===================================================================
--- maven/trunk/ogoglio-integration-test/src/test/resources/basic-config.properties 2008-01-01 21:34:46 UTC (rev 658)
+++ maven/trunk/ogoglio-integration-test/src/test/resources/basic-config.properties 2008-01-01 21:34:54 UTC (rev 659)
@@ -3,4 +3,4 @@
ogoglio.baseUrl = ${ogoglio.baseURL}
ogoglio.baseSimUrl = ${ogoglio.baseSimURL}
ogoglio.mediaUrl = ${ogoglio.mediaURL}
-
+ogoglio.mailDirectory = ${ogoglio.mailDirectory}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|