'Auto-auth is an end-point for HTTP GET requests.
By default, it will create accounts with random user credentials,
but you can also specify credentials using querystring parameters.
`username`, `email`, and `password` are the user\'s credentials (strings)
\'full_name\' is the profile full name value
`staff` is a boolean indicating whether the user is global staff.
`superuser` is a boolean indicating whether the user is a super user.
`course_id` is the ID of the course to enroll the student in.
Currently, this has the form "org/number/run"
Note that "global staff" is NOT the same as course staff.'

def __init__(self, browser, username=None, email=None, password=None, full_name=XSS_INJECTION, staff=False, superuser=None, course_id=None, enrollment_mode=None, roles=None, no_login=False, is_active=True, course_access_roles=None):

    super(AutoAuthPage, self).__init__(browser)
    self._user_info = None
    course_access_roles = (course_access_roles or [])
    course_access_roles = ','.join(course_access_roles)
    self._params = {'full_name': full_name, 'staff': staff, 'superuser': superuser, 'is_active': is_active, 'course_access_roles': course_access_roles}
    if username:
        self._params['username'] = username
    if email:
        self._params['email'] = email
    if password:
        self._params['password'] = password
    if (superuser is not None):
        self._params['superuser'] = ('true' if superuser else 'false')
    if course_id:
        self._params['course_id'] = course_id
        if enrollment_mode:
            self._params['enrollment_mode'] = enrollment_mode
    if roles:
        self._params['roles'] = roles
    if no_login:
        self._params['no_login'] = True
