Update SiteActivitySystemTest - remove remaining SOAP-based webservice calls to create people/users (replaced with REST-based calls)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17787 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2009-12-14 13:09:00 +00:00
parent ac53c396fe
commit 8eb5174ad5

View File

@@ -34,17 +34,16 @@ import java.net.HttpURLConnection;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.net.URL; import java.net.URL;
import java.util.Date;
import junit.framework.TestCase; import junit.framework.TestCase;
import org.alfresco.repo.site.SiteModel; import org.alfresco.repo.site.SiteModel;
import org.alfresco.repo.web.scripts.activities.feed.UserFeedRetrieverWebScript; import org.alfresco.repo.web.scripts.activities.feed.UserFeedRetrieverWebScript;
import org.alfresco.util.Base64; import org.alfresco.util.Base64;
import org.alfresco.util.ISO8601DateFormat;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
/** /**
@@ -59,12 +58,6 @@ public class SiteActivitySystemTest extends TestCase
// TODO - use test property file // TODO - use test property file
private static final String REPO = "http://localhost:8080/alfresco"; private static final String REPO = "http://localhost:8080/alfresco";
// web service (SOAP) - temporary (see below)
private static final String WEBSERVICE_ENDPOINT = REPO + "/api";
private static final String URL_AUTH = "/AuthenticationService";
private static final String URL_ADMIN = "/AdministrationService";
// web script (REST) // web script (REST)
private static final String WEBSCRIPT_ENDPOINT = REPO + "/service"; private static final String WEBSCRIPT_ENDPOINT = REPO + "/service";
@@ -72,6 +65,9 @@ public class SiteActivitySystemTest extends TestCase
private static final String URL_SITES = "/api/sites"; private static final String URL_SITES = "/api/sites";
private static final String URL_MEMBERSHIPS = "/memberships"; private static final String URL_MEMBERSHIPS = "/memberships";
// Person Service part-URLs
private static final String URL_PEOPLE = "/api/people";
// Activity Service part-URLs // Activity Service part-URLs
private static final String URL_ACTIVITIES = "/api/activities"; private static final String URL_ACTIVITIES = "/api/activities";
private static final String URL_SITE_FEED = "/feed/site"; private static final String URL_SITE_FEED = "/feed/site";
@@ -130,10 +126,13 @@ public class SiteActivitySystemTest extends TestCase
// pre-create users // pre-create users
createUser(user1, USER_PW); String ticket = callLoginWebScript(WEBSCRIPT_ENDPOINT, ADMIN_USER, ADMIN_PW);
createUser(user2, USER_PW); assertNotNull(ticket);
createUser(user3, USER_PW);
createUser(user4, USER_PW); createUser(ticket, user1, USER_PW);
createUser(ticket, user2, USER_PW);
createUser(ticket, user3, USER_PW);
createUser(ticket, user4, USER_PW);
setup = true; setup = true;
} }
@@ -806,91 +805,25 @@ public class SiteActivitySystemTest extends TestCase
return ticketResult; return ticketResult;
} }
// TODO - replace with Create Person REST API when it becomes available protected void createUser(String ticket, String username, String password) throws JSONException, IOException, URISyntaxException
protected void createUser(String username, String password) throws MalformedURLException, URISyntaxException, IOException
{ {
String ticket = webServiceStartSession(ADMIN_USER, ADMIN_PW); // Build the JSON person object
webServiceCreateUser(username, password, ticket); JSONObject person = new JSONObject();
webServiceEndSession(ticket); person.put("userName", username);
} person.put("firstName", "first");
person.put("lastName", "last");
person.put("email", "email@email.com");
person.put("password", password);
private String webServiceStartSession(String username, String password) throws MalformedURLException, URISyntaxException, IOException String url = WEBSCRIPT_ENDPOINT + URL_PEOPLE;
String response = callPostWebScript(url, ticket, person.toString());
if (logger.isDebugEnabled())
{ {
String soapCall = logger.debug("addPerson: " + username);
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+ logger.debug("--------------");
"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"+ logger.debug(url);
"<soapenv:Body><startSession xmlns=\"http://www.alfresco.org/ws/service/authentication/1.0\">"+ logger.debug(response);
"<username>"+username+"</username>"+
"<password>"+password+"</password>"+
"</startSession></soapenv:Body></soapenv:Envelope>";
String response = callInOutWeb(WEBSERVICE_ENDPOINT + URL_AUTH, "POST", null, soapCall, "text/xml; charset=utf-8", "\"http://www.alfresco.org/ws/service/authentication/1.0/startSession\"");
String ticket = null;
if (response != null)
{
int idx1 = response.indexOf("<ticket>");
if (idx1 != -1)
{
int idx2 = response.indexOf("</ticket>");
if (idx2 != -1)
{
ticket = response.substring(idx1+"<ticket>".length(), idx2);
} }
} }
} }
return ticket;
}
private void webServiceCreateUser(String username, String password, String ticket) throws MalformedURLException, URISyntaxException, IOException
{
Date now = new Date();
String startTime = ISO8601DateFormat.format(now);
String expireTime = ISO8601DateFormat.format(new Date(now.getTime() + 5*60*1000));
String soapCall =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"+
"<soapenv:Header>"+
"<wsse:Security xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" soapenv:mustUnderstand=\"1\">"+
"<wsu:Timestamp xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\"><wsu:Created>"+startTime+"</wsu:Created><wsu:Expires>"+expireTime+"</wsu:Expires></wsu:Timestamp>"+
"<wsse:UsernameToken><wsse:Username>ticket</wsse:Username><wsse:Password Type=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText\">"+ticket+"</wsse:Password></wsse:UsernameToken></wsse:Security></soapenv:Header>"+
"<soapenv:Body><createUsers xmlns=\"http://www.alfresco.org/ws/service/administration/1.0\">"+
"<newUsers><userName>"+username+"</userName><password>"+password+"</password><properties>"+
"<ns1:name xmlns:ns1=\"http://www.alfresco.org/ws/model/content/1.0\">{http://www.alfresco.org/model/content/1.0}homeFolder</ns1:name>"+
"<ns2:isMultiValue xmlns:ns2=\"http://www.alfresco.org/ws/model/content/1.0\">false</ns2:isMultiValue>"+
"<ns3:value xmlns:ns3=\"http://www.alfresco.org/ws/model/content/1.0\">workspace:////SpacesStore</ns3:value></properties><properties>" +
"<ns4:name xmlns:ns4=\"http://www.alfresco.org/ws/model/content/1.0\">{http://www.alfresco.org/model/content/1.0}firstName</ns4:name>"+
"<ns5:isMultiValue xmlns:ns5=\"http://www.alfresco.org/ws/model/content/1.0\">false</ns5:isMultiValue>"+
"<ns6:value xmlns:ns6=\"http://www.alfresco.org/ws/model/content/1.0\">"+"FN_"+username+"</ns6:value></properties><properties>"+
"<ns7:name xmlns:ns7=\"http://www.alfresco.org/ws/model/content/1.0\">{http://www.alfresco.org/model/content/1.0}middleName</ns7:name>"+
"<ns8:isMultiValue xmlns:ns8=\"http://www.alfresco.org/ws/model/content/1.0\">false</ns8:isMultiValue>"+
"<ns9:value xmlns:ns9=\"http://www.alfresco.org/ws/model/content/1.0\"></ns9:value></properties><properties>"+
"<ns10:name xmlns:ns10=\"http://www.alfresco.org/ws/model/content/1.0\">{http://www.alfresco.org/model/content/1.0}lastName</ns10:name>"+
"<ns11:isMultiValue xmlns:ns11=\"http://www.alfresco.org/ws/model/content/1.0\">false</ns11:isMultiValue>" +
"<ns12:value xmlns:ns12=\"http://www.alfresco.org/ws/model/content/1.0\">"+"LN_"+username+"</ns12:value></properties><properties>" +
"<ns13:name xmlns:ns13=\"http://www.alfresco.org/ws/model/content/1.0\">{http://www.alfresco.org/model/content/1.0}email</ns13:name>"+
"<ns14:isMultiValue xmlns:ns14=\"http://www.alfresco.org/ws/model/content/1.0\">false</ns14:isMultiValue>"+
"<ns15:value xmlns:ns15=\"http://www.alfresco.org/ws/model/content/1.0\">email1210929178773</ns15:value></properties><properties>"+
"<ns16:name xmlns:ns16=\"http://www.alfresco.org/ws/model/content/1.0\">{http://www.alfresco.org/model/content/1.0}organizationId</ns16:name>"+
"<ns17:isMultiValue xmlns:ns17=\"http://www.alfresco.org/ws/model/content/1.0\">false</ns17:isMultiValue>"+
"<ns18:value xmlns:ns18=\"http://www.alfresco.org/ws/model/content/1.0\">org1210929178773</ns18:value></properties></newUsers></createUsers></soapenv:Body></soapenv:Envelope>";
callInOutWeb(WEBSERVICE_ENDPOINT + URL_ADMIN, "POST", null, soapCall, "text/xml; charset=utf-8", "\"http://www.alfresco.org/ws/service/administration/1.0/createUsers\""); // ignore response
}
private void webServiceEndSession(String ticket) throws MalformedURLException, URISyntaxException, IOException
{
String soapCall =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"+
"<soapenv:Body><endSession xmlns=\"http://www.alfresco.org/ws/service/authentication/1.0\">"+
"<ticket>"+ticket+"</ticket>"+
"</endSession></soapenv:Body></soapenv:Envelope>";
callInOutWeb(WEBSERVICE_ENDPOINT + URL_AUTH, "POST", null, soapCall, "text/xml; charset=utf-8", "\"http://www.alfresco.org/ws/service/authentication/1.0/endSession\""); // ignore response
}
}