예제 #1
0
void test_user_get_uid_retrieves_targetted_user(CuTest *tc)
{
    int uid;

    setup();
    uid = user_get_uid("bob");
    CuAssertIntEquals(tc, 1, uid);
    teardown();
}
예제 #2
0
void test_user_get_uid_does_not_retrieve_invalid_user(CuTest *tc)
{
    int uid;

    setup();
    uid = user_get_uid("noone");
    CuAssertIntEquals(tc, -1, uid);
    teardown();
}
static gboolean
finish_list_cached_users (gpointer user_data)
{
        ListUserData *data = user_data;
        GPtrArray *object_paths;
        GHashTableIter iter;
        const gchar *name;
        User *user;
        uid_t uid;
        const gchar *shell;

        object_paths = g_ptr_array_new ();

        g_hash_table_iter_init (&iter, data->daemon->priv->users);
        while (g_hash_table_iter_next (&iter, (gpointer *)&name, (gpointer *)&user)) {
                uid = user_get_uid (user);
                shell = user_get_shell (user);

                if (!user_classify_is_human (uid, name, shell, NULL)) {
                        g_debug ("user %s %ld excluded", name, (long) uid);
                        continue;
                }

                g_debug ("user %s %ld not excluded", name, (long) uid);
                g_ptr_array_add (object_paths, (gpointer) user_get_object_path (user));
        }
        g_ptr_array_add (object_paths, NULL);

        accounts_accounts_complete_list_cached_users (NULL, data->context, (const gchar * const *) object_paths->pdata);

        g_ptr_array_free (object_paths, TRUE);

        list_user_data_free (data);

        return FALSE;
}