@Test
 public void testCRUDEntity() throws Exception {
   Project p = new Project();
   p.setName("Create without entity type");
   p.setEntityType(p.getClass().getName());
   Project clone = (Project) entityServletHelper.createEntity(p, TEST_USER1);
   String id = clone.getId();
   toDelete.add(id);
   assertEquals(p.getName(), clone.getName());
   // Now get the entity with the ID
   Project clone2 = (Project) entityServletHelper.getEntity(id, TEST_USER1);
   assertEquals(clone, clone2);
   // Make sure we can update it
   clone2.setName("My new name");
   Project clone3 = (Project) entityServletHelper.updateEntity(clone2, TEST_USER1);
   assertNotNull(clone3);
   assertEquals(clone2.getName(), clone3.getName());
   // Should not match the original
   assertFalse(p.getName().equals(clone3.getName()));
   // the Etag should have changed
   assertFalse(clone2.getEtag().equals(clone3.getEtag()));
   // Now delete it
   entityServletHelper.deleteEntity(id, TEST_USER1);
   // it should not be found now
   try {
     entityServletHelper.getEntity(id, TEST_USER1);
     fail("Delete failed");
   } catch (NotFoundException e) {
     // expected
   }
 }
 @After
 public void after() {
   if (entityServletHelper != null && toDelete != null) {
     for (String id : toDelete) {
       try {
         entityServletHelper.deleteEntity(id, TEST_USER1);
       } catch (Exception e) {
         // Try even if it fails.
       }
     }
   }
 }