'Override from_dict to remove password_expires_at attribute.
Overriding this method to remove password_expires_at attribute to
support update_user and unit tests where password_expires_at
inadvertently gets added by calling to_dict followed by from_dict.
:param user_dict: User entity dictionary
:returns User: User object'

@classmethod
def from_dict(cls, user_dict):

    new_dict = user_dict.copy()
    resource_options = {}
    options = new_dict.pop('options', {})
    password_expires_at_key = 'password_expires_at'
    if (password_expires_at_key in user_dict):
        del new_dict[password_expires_at_key]
    for opt in cls.resource_options_registry.options:
        if (opt.option_name in options):
            opt_value = options[opt.option_name]
            if (opt_value is not None):
                opt.validator(opt_value)
            resource_options[opt.option_id] = opt_value
    user_obj = super(User, cls).from_dict(new_dict)
    setattr(user_obj, '_resource_options', resource_options)
    return user_obj
