@Test
 public void searchCalendarResourcesTest() throws Exception {
   String testCalendarResourceId =
       Utility.ensureCalendarResourceExists(testCalRes, testCalResDisplayName);
   testSearchCalendarResourcesRequest req = new testSearchCalendarResourcesRequest();
   req.setApplyCos(false);
   req.setAttrs("displayName,zimbraId");
   req.setDomain(testCalResDomain);
   req.setLimit(200);
   req.setSortAscending(true);
   testEntrySearchFilterInfo filter = new testEntrySearchFilterInfo();
   testEntrySearchFilterSingleCond cond = new testEntrySearchFilterSingleCond();
   cond.setNot(false);
   cond.setAttr("displayName");
   cond.setOp("startswith");
   cond.setValue(testCalResDisplayName);
   filter.setCond(cond);
   req.setSearchFilter(filter);
   testSearchCalendarResourcesResponse resp = eif.searchCalendarResourcesRequest(req);
   Assert.assertNotNull(resp);
   Assert.assertEquals("Total found", 1, resp.getSearchTotal());
   Assert.assertEquals("is more", false, resp.isMore());
   List<testCalendarResourceInfo> calResources = resp.getCalresource();
   int len;
   Assert.assertNotNull("list of CalendarResources", calResources);
   len = calResources.size();
   Assert.assertEquals("number of CalendarResources", 1, len);
   Assert.assertEquals("CalendarResource id", testCalendarResourceId, calResources.get(0).getId());
 }
 @Test
 public void createCalendarResourceTest() throws Exception {
   int len;
   Utility.deleteCalendarResourceIfExists(testCalRes);
   Utility.ensureDomainExists(testCalResDomain);
   testCreateCalendarResourceRequest createReq = new testCreateCalendarResourceRequest();
   createReq.setName(testCalRes);
   createReq.setPassword("test123");
   createReq.getA().add(Utility.mkAttr("displayName", "WSDL Test Cal Resource"));
   createReq.getA().add(Utility.mkAttr("zimbraCalResType", "Location"));
   createReq.getA().add(Utility.mkAttr("zimbraCalResLocationDisplayName", "Harare"));
   Utility.addSoapAdminAuthHeader((WSBindingProvider) eif);
   testCreateCalendarResourceResponse resp = eif.createCalendarResourceRequest(createReq);
   Assert.assertNotNull("CreateCalendarResourceResponse object", resp);
   testCalendarResourceInfo calResInfo = resp.getCalresource();
   Assert.assertNotNull("CalendarResourceInfo object", calResInfo);
   Assert.assertEquals(
       "createCalendarResourceResponse <calResource> 'name' attribute",
       testCalRes,
       calResInfo.getName());
   String testCalendarResourceId = calResInfo.getId();
   len = testCalendarResourceId.length();
   Assert.assertTrue(
       "length of <calResource> 'id' attribute length is " + len + " - should be longer than 10",
       len > 10);
   len = calResInfo.getA().size();
   Assert.assertTrue(
       "CreateCalendarResourceResponse <calResource> has "
           + len
           + " <a> children - should have at least 12",
       len >= 12);
 }
 @Test
 public void renameCalendarResourceTest() throws Exception {
   int len;
   String testCalendarResourceId =
       Utility.ensureCalendarResourceExists(testCalRes, testCalResDisplayName);
   String respId;
   testRenameCalendarResourceRequest renameCalendarResourceReq =
       new testRenameCalendarResourceRequest();
   renameCalendarResourceReq.setId(testCalendarResourceId);
   renameCalendarResourceReq.setNewName("foobar" + testCalRes);
   testRenameCalendarResourceResponse renameCalendarResourceResp =
       eif.renameCalendarResourceRequest(renameCalendarResourceReq);
   Assert.assertNotNull(renameCalendarResourceResp);
   testCalendarResourceInfo calResInfo = renameCalendarResourceResp.getCalresource();
   Assert.assertNotNull(calResInfo);
   Assert.assertEquals(
       "renameCalendarResourceResponse <calResource> 'name' attribute",
       "foobar" + testCalRes,
       calResInfo.getName());
   respId = calResInfo.getId();
   Assert.assertEquals(
       "renameCalendarResourceResponse <calResource> 'id' attribute",
       testCalendarResourceId,
       respId);
   len = calResInfo.getA().size();
   Assert.assertTrue(
       "renameCalendarResourceResponse <calResource> has "
           + len
           + " <a> children - should have at least 50",
       len >= 50);
   Utility.deleteCalendarResourceIfExists("foobar" + testCalRes);
 }
 @Test
 public void modifyCalendarResourceTest() throws Exception {
   int len;
   String testCalendarResourceId =
       Utility.ensureCalendarResourceExists(testCalRes, testCalResDisplayName);
   String respId;
   testModifyCalendarResourceRequest modReq = new testModifyCalendarResourceRequest();
   modReq.setId(testCalendarResourceId);
   testAttr modAttr = new testAttr();
   modAttr.setN("displayName");
   modAttr.setValue("Modified Displayname");
   modReq.getA().add(modAttr);
   testModifyCalendarResourceResponse modResp = eif.modifyCalendarResourceRequest(modReq);
   Assert.assertNotNull("ModifyCalendarResourceResponse object", modResp);
   testCalendarResourceInfo calResInfo = modResp.getCalresource();
   Assert.assertNotNull("CalendarResourceInfo object", calResInfo);
   Assert.assertEquals(
       "modifyCalendarResourceResponse <calResource> 'name' attribute",
       testCalRes,
       calResInfo.getName());
   respId = calResInfo.getId();
   Assert.assertEquals(
       "modifyCalendarResourceResponse <calResource> 'id' attribute",
       testCalendarResourceId,
       respId);
   len = calResInfo.getA().size();
   Assert.assertTrue(
       "modifyCalendarResourceResponse <calResource> has "
           + len
           + " <a> children - should have at least 50",
       len >= 50);
 }
 @Test
 public void getCalendarResourceTest() throws Exception {
   int len;
   String testCalendarResourceId =
       Utility.ensureCalendarResourceExists(testCalRes, testCalResDisplayName);
   testGetCalendarResourceRequest getReq = new testGetCalendarResourceRequest();
   testCalendarResourceSelector calResSel = new testCalendarResourceSelector();
   calResSel.setBy(testCalendarResourceBy.ID);
   calResSel.setValue(testCalendarResourceId);
   getReq.setCalresource(calResSel);
   testGetCalendarResourceResponse getResp = eif.getCalendarResourceRequest(getReq);
   Assert.assertNotNull("GetCalendarResourceResponse object", getResp);
   testCalendarResourceInfo calResInfo = getResp.getCalresource();
   Assert.assertNotNull("CalendarResourceInfo object", calResInfo);
   Assert.assertEquals(
       "getCalendarResourceResponse <calResource> 'name' attribute",
       testCalRes,
       calResInfo.getName());
   String respId = calResInfo.getId();
   Assert.assertEquals(
       "getCalendarResourceResponse <calResource> 'id' attribute", testCalendarResourceId, respId);
   len = calResInfo.getA().size();
   Assert.assertTrue(
       "GetCalendarResourceResponse <calResource> has "
           + len
           + " <a> children - should have at least 12",
       len >= 12);
 }
 @Test
 public void deleteCalendarResourceTest() throws Exception {
   String testCalendarResourceId =
       Utility.ensureCalendarResourceExists(testCalRes, testCalResDisplayName);
   testDeleteCalendarResourceRequest delReq = new testDeleteCalendarResourceRequest();
   delReq.setId(testCalendarResourceId);
   testDeleteCalendarResourceResponse delResp = eif.deleteCalendarResourceRequest(delReq);
   Assert.assertNotNull(delResp);
 }
 @Test
 public void getAllCalendarResourcesTest() throws Exception {
   testGetAllCalendarResourcesRequest req = new testGetAllCalendarResourcesRequest();
   Utility.addSoapAdminAuthHeader((WSBindingProvider) eif);
   testGetAllCalendarResourcesResponse resp = eif.getAllCalendarResourcesRequest(req);
   Assert.assertNotNull("GetAllCalendarResourcesResponse object", resp);
   List<testCalendarResourceInfo> calResources = resp.getCalresource();
   int len;
   Assert.assertNotNull("GetAllCalendarResourcesResponse list of CalendarResources", calResources);
   len = calResources.size();
   Assert.assertTrue(
       "Number of GetAllCalendarResourcesResponse <calResource> children is "
           + len
           + " - should be at least 2",
       len >= 2);
 }