I normally use a test database for my tests (e.g. an in-memory H2 or sth like that) so I don't use the rollback approach, so I guess I won't be much of a help here.
Considering the way you are doing the tests I don't see any other option than calling the AuditSync explicitly. You could also create your own transaction synchronization, register it before the audit sync (so right a the beginning of the TX), and test/rollback there, but that's essentially the same as your solution. However you won't be able to test more than one revision that way, as it's one revision per transaction
How would I go about getting an instance of AuditSync in the unit tests?
The org.hibernate.event.EventSource seems like the most challenging part to get a hold of in the unit test method...
Why would you want an AuditSync in unit test?