In this case @RunAsrincipal should work, when you are ok with hardcoded username.
There are also 2 programmatic approaches which should also work:
- using Elytron Authentication Context
Thanks Martin! Looking at the wildfly/Util.java I was able to get the code I required.
SecurityDomain.getCurrent().authenticate("usr", new PasswordGuessEvidence("pass".toCharArray())).runAs(<runnable>);