// Delegates authentication to a stub login module, hardcoded to authenticate as a particular user - see JMXAuthTest
TestLogin {
  org.apache.cassandra.auth.jmx.JMXAuthTest$StubLoginModule REQUIRED role_name=test_role;
};
