@Test(expected = IllegalArgumentException.class)
  public void testProjectWithDatasetParent()
      throws InvalidModelException, NotFoundException, DatastoreException, UnauthorizedException {
    String parentId = "123";
    // This is our parent header
    EntityHeader parentHeader = new EntityHeader();
    parentHeader.setId(parentId);
    parentHeader.setName("name");
    parentHeader.setType(EntityType.dataset.getEntityType());
    List<EntityHeader> path = new ArrayList<EntityHeader>();
    path.add(parentHeader);

    Project project = new Project();
    project.setParentId(parentId);
    // This should not be valid
    allTypesValidator.validateEntity(project, new EntityEvent(EventType.CREATE, path, null));
  }
 @Test
 public void testEntityPath()
     throws JSONObjectAdapterException, ServletException, IOException, NotFoundException,
         DatastoreException {
   Project p = new Project();
   p.setName("EntityPath");
   p.setEntityType(p.getClass().getName());
   Project clone = (Project) entityServletHelper.createEntity(p, TEST_USER1);
   String id = clone.getId();
   toDelete.add(id);
   EntityPath path = entityServletHelper.getEntityPath(id, TEST_USER1);
   assertNotNull(path);
   assertNotNull(path.getPath());
   assertEquals(2, path.getPath().size());
   EntityHeader header = path.getPath().get(1);
   assertNotNull(header);
   assertEquals(id, header.getId());
 }
  @Test
  public void testEntityTypeBatch() throws Exception {
    List<String> ids = new ArrayList<String>();
    for (int i = 0; i < 12; i++) {
      Project p = new Project();
      p.setName("EntityTypeBatchItem" + i);
      p.setEntityType(p.getClass().getName());
      Project clone = (Project) entityServletHelper.createEntity(p, TEST_USER1);
      String id = clone.getId();
      toDelete.add(id);
      ids.add(id);
    }

    BatchResults<EntityHeader> results = entityServletHelper.getEntityTypeBatch(ids, TEST_USER1);
    assertNotNull(results);
    assertEquals(12, results.getTotalNumberOfResults());
    List<String> outputIds = new ArrayList<String>();
    for (EntityHeader header : results.getResults()) {
      outputIds.add(header.getId());
    }
    assertEquals(ids.size(), outputIds.size());
    assertTrue(ids.containsAll(outputIds));
  }