@Test
public void ShouldCreateOperationAndSetToken()
    throws ReadValueException, CreateAsyncOperationActorException, ChangeValueException, ResolutionException,
            CreateAsyncOperationException {

    String sessionId = "sessionId";
    when(IOC.resolve(Keys.getOrAdd("db.collection.nextid"))).thenReturn("");
    when(message.getSessionId()).thenReturn(sessionId);
    when(message.getExpiredTime()).thenReturn(4);
    IObject asyncDataObj = mock(IObject.class);
    IKey dataKey = mock(IKey.class);
    when(Keys.getOrAdd("info.smart_tools.smartactors.iobject.iobject.IObject")).thenReturn(dataKey);
    when(message.getOperationData()).thenReturn(asyncDataObj);
    actor.create(message);
    verify(collection).createAsyncOperation(eq(asyncDataObj), anyString(), anyString());
    verify(message).setAsyncOperationToken(anyString());
}