+
+/* each alumni has one and only one display name by default and one and only one name when we talk to him directly */
+check("SELECT u.`user_id`, u.`nom`, u.`prenom`, COUNT(n.`display`) AS c
+ FROM `auth_user_md5` AS u
+ LEFT JOIN `profile_names_display` AS n ON(u.`user_id` = n.`user_id` AND FIND_IN_SET(n.`reason`, 'default'))
+ GROUP BY u.`user_id`
+ HAVING c != 1", "chaque personne doit avoir un et un seul nom par défaut");
+check("SELECT u.`user_id`, u.`nom`, u.`prenom`, COUNT(n.`display`) AS c
+ FROM `auth_user_md5` AS u
+ LEFT JOIN `profile_names_display` AS n ON(u.`user_id` = n.`user_id` AND FIND_IN_SET(n.`reason`, 'yourself'))
+ GROUP BY u.`user_id`
+ HAVING c != 1", "chaque personne doit avoir un et un seul nom quand on lui parle");
+
+/* no alumni is allowed to have empty names */
+check("SELECT u.`user_id`, u.`nom`, u.`prenom`
+ FROM `auth_user_md5` AS u
+ INNER JOIN `profile_names_search` AS n USING(`user_id`)
+ WHERE n.`search_name` = ''", "liste des personnes qui ont un de leur nom de recherche vide");
+
+/* verifie qu'il n'y a pas d'utilisateurs ayant un compte Google Apps désactivé et une redirection encore active vers Google Apps */
+check("SELECT a.alias, g.g_status, u.mail_storage
+ FROM auth_user_md5 AS u
+ INNER JOIN aliases AS a ON (a.id = u.user_id AND a.type = 'a_vie')
+ INNER JOIN gapps_accounts AS g ON (g.l_userid = u.user_id)
+ WHERE FIND_IN_SET('googleapps', u.mail_storage) > 0 AND g.g_status != 'active'",
+ "utilisateurs ayant une redirection vers Google Apps alors que leur compte GApps n'est pas actif");
+