@Test
public void testTraverseWithObjects() throws Exception {

  UUID objectId1 = UUID.randomUUID();
  UUID objectId2 = UUID.randomUUID();
  String query = "g.outE()";
  when(objectFactDao.getObject("ThreatActor", "Sofacy")).thenReturn(new ObjectRecord().setId(objectId1));
  when(objectFactDao.getObject(objectId2)).thenReturn(new ObjectRecord().setId(objectId2));
  TraverseGraphByObjectsRequest request = new TraverseGraphByObjectsRequest()
          .setQuery(query)
          .setObjects(set(
                  "ThreatActor/Sofacy",
                  objectId2.toString()));
  delegate.handle(request);
  verify(traverseGraphHandler).traverse(
          eq(set(objectId1, objectId2)),
          eq(query),
          argThat(traverseParams -> {
            assertFalse(traverseParams.isIncludeRetracted());
            assertNull(traverseParams.getAfterTimestamp());
            assertNull(traverseParams.getBeforeTimestamp());
            return true;
          }));
}