package edu.harvard.i2b2.pm.ws;
import static org.junit.Assert.*;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.StringWriter;
import javax.xml.bind.JAXBElement;
import junit.framework.JUnit4TestAdapter;
import org.apache.axiom.om.OMElement;
import org.junit.BeforeClass;
import org.junit.Test;
import edu.harvard.i2b2.common.util.jaxb.JAXBUnWrapHelper;
import edu.harvard.i2b2.common.util.xml.XMLUtil;
import edu.harvard.i2b2.pm.datavo.i2b2message.*;
import edu.harvard.i2b2.pm.datavo.pm.CellDataType;
import edu.harvard.i2b2.pm.datavo.pm.ConfigureType;
import edu.harvard.i2b2.pm.datavo.pm.GetUserConfigurationType;
import edu.harvard.i2b2.pm.datavo.pm.GlobalDataType;
import edu.harvard.i2b2.pm.datavo.pm.ParamType;
import edu.harvard.i2b2.pm.datavo.pm.ParamsType;
import edu.harvard.i2b2.pm.datavo.pm.ProjectType;
import edu.harvard.i2b2.pm.util.PMJAXBUtil;
public class PMServiceRESTTest extends PMAxisAbstract{
private static String testFileDir = "";
private static String pmTargetEPR =
"http://127.0.0.1:9090/i2b2/services/PMService/getServices";
// "http://127.0.0.1:8080/i2b2/services/PMService/getServices";
public static junit.framework.Test suite() {
return new JUnit4TestAdapter(PMServiceRESTTest.class);
}
@BeforeClass
public static void setUp() throws Exception {
testFileDir = "test"; //System.getProperty("testfiledir");
System.out.println("test file dir " + testFileDir);
if (!((testFileDir != null) && (testFileDir.trim().length() > 0))) {
throw new Exception(
"please provide test file directory info -Dtestfiledir");
}
}
@Test
public void SleepForBamboo() throws Exception {
String filename = testFileDir + "/pm_create_user_for_crc.xml";
ConfigureType ctype = null;
String masterInstanceResult = null;
try {
Thread.sleep(60000);
assertTrue(true);
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
}
}
@Test
public void CreateUserRoleforCRC() throws Exception {
String filename = testFileDir + "/pm_create_user_for_crc.xml";
ConfigureType ctype = null;
String masterInstanceResult = null;
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Add Role 1
filename = testFileDir + "/pm_set_role1_for_crc.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Add Role 1
filename = testFileDir + "/pm_set_role2_for_crc.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Add Role 1
filename = testFileDir + "/pm_set_role1_for_work.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Add Role 1
filename = testFileDir + "/pm_set_role2_for_work.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Add Role 1
filename = testFileDir + "/pm_set_role3_for_work.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Add Role 1
filename = testFileDir + "/pm_set_role1_for_im.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Add Role 1
filename = testFileDir + "/pm_set_role2_for_im.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
}
}
@Test
public void validSessionUnvalidUsernoXML() throws Exception {
try {
GetUserConfigurationType userConfig = new GetUserConfigurationType();
userConfig.getProject().add("Demo");
edu.harvard.i2b2.pm.datavo.pm.ObjectFactory of = new edu.harvard.i2b2.pm.datavo.pm.ObjectFactory();
BodyType bodyType = new BodyType();
bodyType.getAny().add(of.createGetUserConfiguration(userConfig));
RequestMessageType requestMessageType = buildRequestMessage(bodyType, "i2b2", "demouser", "Demo");
StringWriter strWriter = new StringWriter();
edu.harvard.i2b2.pm.datavo.i2b2message.ObjectFactory of2 = new edu.harvard.i2b2.pm.datavo.i2b2message.ObjectFactory();
PMJAXBUtil.getJAXBUtil().marshaller(of2.createRequest(requestMessageType), strWriter);
OMElement requestElement = convertStringToOMElement(strWriter.toString());
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
ConfigureType masterInstanceResult = (ConfigureType)helper.getObjectByClass(r.getMessageBody().getAny(),ConfigureType.class);
assertNotNull(masterInstanceResult);
// try calling with another user
requestMessageType = buildRequestMessage(bodyType, "demo", masterInstanceResult.getUser().getPassword().getValue(), "Demo");
strWriter = new StringWriter();
of2 = new edu.harvard.i2b2.pm.datavo.i2b2message.ObjectFactory();
PMJAXBUtil.getJAXBUtil().marshaller(of2.createRequest(requestMessageType), strWriter);
requestElement = convertStringToOMElement(strWriter.toString());
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void validUsernoXML() throws Exception {
try {
GetUserConfigurationType userConfig = new GetUserConfigurationType();
userConfig.getProject().add("Demo");
edu.harvard.i2b2.pm.datavo.pm.ObjectFactory of = new edu.harvard.i2b2.pm.datavo.pm.ObjectFactory();
BodyType bodyType = new BodyType();
bodyType.getAny().add(of.createGetUserConfiguration(userConfig));
RequestMessageType requestMessageType = buildRequestMessage(bodyType, "i2b2", "demouser", "Demo");
StringWriter strWriter = new StringWriter();
edu.harvard.i2b2.pm.datavo.i2b2message.ObjectFactory of2 = new edu.harvard.i2b2.pm.datavo.i2b2message.ObjectFactory();
PMJAXBUtil.getJAXBUtil().marshaller(of2.createRequest(requestMessageType), strWriter);
OMElement requestElement = convertStringToOMElement(strWriter.toString());
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
ConfigureType masterInstanceResult = (ConfigureType)helper.getObjectByClass(r.getMessageBody().getAny(),ConfigureType.class);
assertNotNull(masterInstanceResult);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void wrongPassword() throws Exception {
String filename = testFileDir + "/pm_wrongpassword.xml";
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void validUser() throws Exception {
String filename = testFileDir + "/pm_valid_user.xml";
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
ConfigureType masterInstanceResult = (ConfigureType)helper.getObjectByClass(r.getMessageBody().getAny(),ConfigureType.class);
assertNotNull(masterInstanceResult);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void invalidUser() throws Exception {
String filename = testFileDir + "/pm_invalid_user.xml";
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void CRUDUserWithValidUser() throws Exception {
String filename = testFileDir + "/pm_create_user_with_valid_user.xml";
ConfigureType ctype = null;
String masterInstanceResult = null;
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really added
filename = testFileDir + "/pm_create_user_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ctype = (ConfigureType)helper.getObjectByClass(r.getMessageBody().getAny(),ConfigureType.class);
assertNotNull(ctype);
assertEquals(ctype.getUser().getFullName(),"Bamboo User");
// assertEquals(ctype.getUser().getEmail(),"bamboo@i2b2.org");
assertTrue(ctype.getUser().isIsAdmin());
//Update the user
filename = testFileDir + "/pm_update_user_with_valid_user.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really added
filename = testFileDir + "/pm_create_user_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ctype = (ConfigureType)helper.getObjectByClass(r.getMessageBody().getAny(),ConfigureType.class);
assertNotNull(ctype);
assertEquals(ctype.getUser().getFullName(),"Bamboo User2");
// assertEquals(ctype.getUser().getEmail(),"bamboo@i2b2.org");
assertFalse(ctype.getUser().isIsAdmin());
//Delete User
filename = testFileDir + "/pm_delete_user_with_valid_user.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really deleted
filename = testFileDir + "/pm_create_user_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
//Reenable user
//Update the user
filename = testFileDir + "/pm_create_user_with_valid_user.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really reenabled
filename = testFileDir + "/pm_create_user_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ctype = (ConfigureType)helper.getObjectByClass(r.getMessageBody().getAny(),ConfigureType.class);
assertNotNull(ctype);
assertEquals(ctype.getUser().getFullName(),"Bamboo User");
// assertEquals(ctype.getUser().getEmail(),"bamboo@i2b2.org");
assertTrue(ctype.getUser().isIsAdmin());
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
}
}
@Test
public void createUserWithInValidUser() throws Exception {
String filename = testFileDir + "/pm_create_user_with_invalid_user.xml";
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void CRUDCellWithValidUser() throws Exception {
String filename = testFileDir + "/pm_create_cell_with_valid_user.xml";
CellDataType ctype = null;
String masterInstanceResult = null;
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really added
filename = testFileDir + "/pm_create_cell_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ctype = (CellDataType)helper.getObjectByClass(r.getMessageBody().getAny(),CellDataType.class);
assertNotNull(ctype);
assertEquals(ctype.getId(),"Bamboo");
assertEquals(ctype.getProjectPath(),"/Bamboo");
assertEquals(ctype.getUrl(),"http://127.0.0.1/bamboo");
assertEquals(ctype.getName(),"Bamboo test");
assertEquals(ctype.getMethod(),"REST");
//Update the cell
filename = testFileDir + "/pm_update_cell_with_valid_user.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really added
filename = testFileDir + "/pm_create_cell_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ctype = (CellDataType)helper.getObjectByClass(r.getMessageBody().getAny(),CellDataType.class);
assertNotNull(ctype);
assertEquals(ctype.getId(),"Bamboo");
assertEquals(ctype.getProjectPath(),"/Bamboo");
assertEquals(ctype.getUrl(),"http://127.0.0.1/bamboo2");
assertEquals(ctype.getName(),"Bamboo test2");
assertEquals(ctype.getMethod(),"REST2");
//Delete cell
filename = testFileDir + "/pm_delete_cell_with_valid_user.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really deleted
filename = testFileDir + "/pm_create_cell_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
//Reenable cell
//Update the cell
filename = testFileDir + "/pm_create_cell_with_valid_user.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really reenabled
filename = testFileDir + "/pm_create_cell_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ctype = (CellDataType)helper.getObjectByClass(r.getMessageBody().getAny(),CellDataType.class);
assertNotNull(ctype);
assertEquals(ctype.getId(),"Bamboo");
assertEquals(ctype.getProjectPath(),"/Bamboo");
assertEquals(ctype.getUrl(),"http://127.0.0.1/bamboo");
assertEquals(ctype.getName(),"Bamboo test");
assertEquals(ctype.getMethod(),"REST");
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
}
}
@Test
public void createCellWithInValidUser() throws Exception {
String filename = testFileDir + "/pm_create_cell_with_invalid_user.xml";
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void CRUDProjectWithValidUser() throws Exception {
String filename = testFileDir + "/pm_create_project_with_valid_user.xml";
ProjectType ctype = null;
String masterInstanceResult = null;
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really added
filename = testFileDir + "/pm_create_project_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ctype = (ProjectType)helper.getObjectByClass(r.getMessageBody().getAny(),ProjectType.class);
assertNotNull(ctype);
assertEquals(ctype.getId(),"BAMBOO");
assertEquals(ctype.getName(),"Bamboo Test");
assertEquals(ctype.getKey(), "ca2");
assertEquals(ctype.getWiki(),"http://127.0.0.1/wiki");
assertEquals(ctype.getDescription(),"This is a message");
assertEquals(ctype.getPath(),"/bamboo");
//Update the project
filename = testFileDir + "/pm_update_project_with_valid_user.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really added
filename = testFileDir + "/pm_create_project_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ctype = (ProjectType)helper.getObjectByClass(r.getMessageBody().getAny(),ProjectType.class);
assertNotNull(ctype);
assertEquals(ctype.getId(),"BAMBOO");
assertEquals(ctype.getName(),"Bamboo Test2");
assertEquals(ctype.getKey(), "e82");
assertEquals(ctype.getWiki(),"http://127.0.0.1/wiki2");
assertEquals(ctype.getDescription(),"This is a message2");
assertEquals(ctype.getPath(),"/bamboo");
//Delete project
filename = testFileDir + "/pm_delete_project_with_valid_user.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really deleted
filename = testFileDir + "/pm_create_project_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
//Reenable project
//Update the project
filename = testFileDir + "/pm_create_project_with_valid_user.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really reenabled
filename = testFileDir + "/pm_create_project_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ctype = (ProjectType)helper.getObjectByClass(r.getMessageBody().getAny(),ProjectType.class);
assertNotNull(ctype);
assertEquals(ctype.getId(),"BAMBOO");
assertEquals(ctype.getName(),"Bamboo Test");
assertEquals(ctype.getWiki(),"http://127.0.0.1/wiki");
assertEquals(ctype.getDescription(),"This is a message");
assertEquals(ctype.getPath(),"/bamboo");
assertEquals(ctype.getKey(), "ca2");
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
}
}
@Test
public void createProjectWithInValidUser() throws Exception {
String filename = testFileDir + "/pm_create_project_with_invalid_user.xml";
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void CRUDGlobalParamWithValidUser() throws Exception {
String filename = testFileDir + "/pm_create_global_param_with_valid_user.xml";
//ParamType ctype = null;
int id = -1;
String masterInstanceResult = null;
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really added
filename = testFileDir + "/pm_create_global_param_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ParamsType allParams = (ParamsType)helper.getObjectByClass(r.getMessageBody().getAny(),ParamsType.class);
for (ParamType param : allParams.getParam())
{
if (param.getName().equals("Global") && param.getValue().equals("Global Value"))
{
assertNotNull(param);
assertEquals(param.getName(),"Global");
assertEquals(param.getValue(),"Global Value");
assertEquals(param.getDatatype(),"T");
id = param.getId();
break;
}
}
//Update the project
filename = testFileDir + "/pm_update_global_param_with_valid_user.xml";
requestString = getQueryString(filename);
requestString = requestString.replace("{{{id}}}", Integer.toString(id));
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really added
filename = testFileDir + "/pm_recreate_global_param_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestString = requestString.replace("{{{id}}}", Integer.toString(id));
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
GlobalDataType global = (GlobalDataType)helper.getObjectByClass(r.getMessageBody().getAny(),GlobalDataType.class);
for (ParamType param : global.getParam())
{
if (param.getId() == id)
{
assertNotNull(param);
assertEquals(param.getName(),"Global");
assertEquals(param.getValue(),"Global Value2");
assertEquals(param.getDatatype(),"N");
break;
}
}
//Delete project
filename = testFileDir + "/pm_delete_global_param_with_valid_user.xml";
requestString = getQueryString(filename);
requestString = requestString.replace("{{{id}}}", Integer.toString(id));
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really deleted
filename = testFileDir + "/pm_recreate_global_param_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestString = requestString.replace("{{{id}}}", Integer.toString(id));
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
//Reenable project
//Update the project
filename = testFileDir + "/pm_update_global_param_with_valid_user.xml";
requestString = getQueryString(filename);
requestString = requestString.replace("{{{id}}}", Integer.toString(id));
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
assertNotNull(masterInstanceResult);
//Check to see if really reenabled
filename = testFileDir + "/pm_recreate_global_param_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestString = requestString.replace("{{{id}}}", Integer.toString(id));
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
global = (GlobalDataType)helper.getObjectByClass(r.getMessageBody().getAny(),GlobalDataType.class);
for (ParamType param : global.getParam())
{
if (param.getId() == id)
{
assertNotNull(param);
assertEquals(param.getName(),"Global");
assertEquals(param.getValue(),"Global Value2");
assertEquals(param.getDatatype(),"N");
break;
}
}
} catch (Exception e) {
e.printStackTrace();
assertTrue(false);
}
}
@Test
public void createGlobalParamWithInValidUser() throws Exception {
String filename = testFileDir + "/pm_create_global_param_with_invalid_user.xml";
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void createCelllParamWithValidUser() throws Exception {
String filename = testFileDir + "/pm_create_cell_param_with_valid_user.xml";
ParamType ctype = null;
String masterInstanceResult = null;
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
//Check to see if really added
filename = testFileDir + "/pm_create_cell_param_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ParamsType allParams = (ParamsType)helper.getObjectByClass(r.getMessageBody().getAny(),ParamsType.class);
for (ParamType param : allParams.getParam())
{
if (param.getName().equals("Bamboo_Param"))
{
ctype = param;
break;
}
}
} catch (Exception e) {
}
assertNotNull(masterInstanceResult);
assertNotNull(ctype);
assertEquals(ctype.getName(),"Bamboo_Param");
assertEquals(ctype.getValue(),"my test");
assertEquals(ctype.getDatatype(),"T");
}
@Test
public void createCellParamWithInValidUser() throws Exception {
String filename = testFileDir + "/pm_create_cell_param_with_invalid_user.xml";
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
String err = r.getResponseHeader().getResultStatus().getStatus().getType();
assertEquals("ERROR", err);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
@Test
public void createProjetUserParamWithValidUser() throws Exception {
String filename = testFileDir + "/pm_create_project_user_param_with_valid_user.xml";
ParamType ctype = null;
String masterInstanceResult = null;
try {
String requestString = getQueryString(filename);
OMElement requestElement = convertStringToOMElement(requestString);
OMElement responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
JAXBElement responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
ResponseMessageType r = (ResponseMessageType)responseJaxb.getValue();
JAXBUnWrapHelper helper = new JAXBUnWrapHelper();
masterInstanceResult = (String)helper.getObjectByClass(r.getMessageBody().getAny(),String.class);
//Check to see if really added
filename = testFileDir + "/pm_create_project_user_param_with_valid_user_check.xml";
requestString = getQueryString(filename);
requestElement = convertStringToOMElement(requestString);
responseElement = getServiceClient(pmTargetEPR).sendReceive(requestElement);
//read test file and store query instance ;
//unmarshall this response string
responseJaxb = PMJAXBUtil.getJAXBUtil().unMashallFromString(responseElement.toString());
r = (ResponseMessageType)responseJaxb.getValue();
helper = new JAXBUnWrapHelper();
ParamsType allParams = (ParamsType)helper.getObjectByClass(r.getMessageBody().getAny(),ParamsType.class);
assertEquals( allParams.getParam().size(), 1);
for (ParamType param : allParams.getParam())
{
if (param.getName().equals("Bamboo_Param"))
{
ctype = param;
break;
}
}
} catch (Exception e) {
e.printStackTrace();
}
assertNotNull(masterInstanceResult);
assertNotNull(ctype);
assertEquals(ctype.getName(),"Bamboo_Param");
assertEquals(ctype.getValue(),"my test");
assertEquals(ctype.getDatatype(),"T");
}
}