Make DB integration tests cleaner with @Transactional

Adding @Transactional causes the test to run inside a transaction, and rollback on teardown.  Leaves the db in the original state.
Also updated the test to not break with an active login session.