Application finally working and tests passing. I had to avoid use of exists() and queryOneBy() in UserDetailsDAO since they are buggy at the momment.
The main porpouse of these functions were to determine if there is a existing entry in db, in order to choose between insert or update the registry,
but I have noticed that Audience Sync will never send you a callback from a user that have already accepted the request.

You will almost never get an AS request from the same user twice.