test_client_passdb_lookup_simple(const char *user, bool retry,
const char **error_r);
static int
-test_client_userdb_lookup_simple(const char *user, const char **error_r);
+test_client_userdb_lookup_simple(const char *user, bool retry,
+ const char **error_r);
static int test_client_user_list_simple(void);
/* test*/
const char *error;
int ret;
- ret = test_client_userdb_lookup_simple("harrie", &error);
+ ret = test_client_userdb_lookup_simple("harrie", FALSE, &error);
test_out("run (ret == -2)", ret == -2);
test_assert(error != NULL &&
strcmp(error, "It is no use!") == 0);
const char *error;
int ret;
- ret = test_client_userdb_lookup_simple("henk", &error);
+ ret = test_client_userdb_lookup_simple("henk", FALSE, &error);
test_out("run (ret == 0)", ret == 0);
test_assert(error == NULL);
const char *error;
int ret;
- ret = test_client_userdb_lookup_simple("holger", &error);
+ ret = test_client_userdb_lookup_simple("holger", FALSE, &error);
test_out("run (ret == -1)", ret == -1);
test_assert(error == NULL);
const char *error;
int ret;
- ret = test_client_userdb_lookup_simple("harrie", &error);
+ ret = test_client_userdb_lookup_simple("harrie", FALSE, &error);
test_out("run (ret > 0)", ret > 0);
return FALSE;
}
static int
-test_client_userdb_lookup_simple(const char *username, const char **error_r)
+test_client_userdb_lookup_simple(const char *username, bool retry,
+ const char **error_r)
{
struct auth_master_connection *auth_conn;
enum auth_master_flags flags = 0;
struct auth_user_info info;
const char *const *fields;
+ const char *username_out;
pool_t pool;
int ret;
auth_conn = auth_master_init(TEST_SOCKET, flags);
auth_master_set_timeout(auth_conn, 1000);
ret = auth_master_user_lookup(auth_conn, username, &info,
- pool, &username, &fields);
+ pool, &username_out, &fields);
+ if (ret < 0 && retry) {
+ ret = auth_master_user_lookup(auth_conn, username, &info,
+ pool, &username_out, &fields);
+ }
auth_master_deinit(&auth_conn);
*error_r = (ret < 0 ? t_strdup(fields[0]) : NULL);