@Test
 @SuppressWarnings("unchecked")
 public void testCRUD() throws Exception {
   APIResponse response = mailAPI.create(mail);
   if (response.isDone()) {
     mail = (Mail) response.getMessage();
     assertEquals(false, mail.isRead());
     assertEquals("aa", mail.getTitle());
     assertEquals("bb", mail.getContent());
     assertEquals("jack", mail.getReceiver().getName());
     assertEquals("bill", mail.getSender().getName());
   } else {
     logger.log(Level.SEVERE, response.getMessage().toString());
   }
   mail.setRead(true);
   mail.setTitle("cc");
   mail.setContent("dd");
   response = mailAPI.update(mail);
   if (response.isDone()) {
     mail = (Mail) response.getMessage();
     assertEquals(true, mail.isRead());
     assertEquals("cc", mail.getTitle());
     assertEquals("dd", mail.getContent());
   } else {
     logger.log(Level.SEVERE, response.getMessage().toString());
   }
   response = mailAPI.show("id=='" + mail.getId() + "'");
   if (response.isDone()) {
     assertEquals(1, ((Collection<Mail>) response.getMessage()).size());
   } else {
     logger.log(Level.SEVERE, response.getMessage().toString());
   }
   response = mailAPI.delete(mail.getId());
   if (response.isDone()) {
     assertEquals("Mail Deleted!", response.getMessage().toString());
   } else {
     logger.log(Level.SEVERE, response.getMessage().toString());
   }
   response = mailAPI.showByReceiver("id=='" + receiver.getId() + "'");
   if (response.isDone()) {
     assertEquals(0, ((Collection<Mail>) response.getMessage()).size());
   } else {
     logger.log(Level.SEVERE, response.getMessage().toString());
   }
   response = mailAPI.showBySender("id=='" + sender.getId() + "'");
   if (response.isDone()) {
     assertEquals(0, ((Collection<Mail>) response.getMessage()).size());
   } else {
     logger.log(Level.SEVERE, response.getMessage().toString());
   }
 }