@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 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(),"*****@*****.**");
      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(),"*****@*****.**");
      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(),"*****@*****.**");
      assertTrue(ctype.getUser().isIsAdmin());

    } catch (Exception e) {
      e.printStackTrace();
      assertTrue(false);
    }
  }