struct auth_settings set;
i_zero(&set);
global_auth_settings = &set;
- passdbs_init();
struct auth_request *req = auth_request_new_dummy();
req->passdb = passdb_mock();
struct auth_settings set;
i_zero(&set);
global_auth_settings = &set;
- passdbs_init();
struct auth_request *req = auth_request_new_dummy();
req->passdb = passdb_mock();
#include "test-common.h"
#include "test-auth.h"
#include "password-scheme.h"
+#include "passdb.h"
int main(int argc, const char *argv[])
{
const char *match = "";
+ int ret;
static const struct named_test test_functions[] = {
TEST_NAMED(test_auth_request_var_expand)
TEST_NAMED(test_db_dict_parse_cache_key)
};
password_schemes_init();
+ passdbs_init();
+ passdb_mock_mod_init();
if (argc > 2 && strcasecmp(argv[1], "--match") == 0)
match = argv[2];
- return test_run_named(test_functions, match);
+ ret = test_run_named(test_functions, match);
+
+ passdb_mock_mod_deinit();
+ password_schemes_deinit();
+ passdbs_deinit();
+
+ return ret;
}
time_t process_start_time;
bool worker, worker_restart_request;
static struct passdb_module *mock_passdb_mod = NULL;
+static pool_t mock_pool;
void auth_module_load(const char *names ATTR_UNUSED)
{
.auth_verbose = "default"
};
-static void passdb_mock_mod_init(void)
+void passdb_mock_mod_init(void)
{
if (mock_passdb_mod != NULL)
return;
+ mock_pool = pool_allocfree_create("auth mock");
+
passdb_register_module(&mock_interface);
struct auth_passdb_settings set = {
.master = FALSE,
.auth_verbose = "default"
};
- mock_passdb_mod = passdb_preinit(default_pool, &set);
+ mock_passdb_mod = passdb_preinit(mock_pool, &set);
+ passdb_init(mock_passdb_mod);
+}
+
+void passdb_mock_mod_deinit(void)
+{
+ passdb_deinit(mock_passdb_mod);
+ passdb_unregister_module(&mock_interface);
+ pool_unref(&mock_pool);
}
struct auth_passdb *passdb_mock(void)
{
- passdb_mock_mod_init();
struct auth_passdb *ret = i_new(struct auth_passdb, 1);
ret->set = &set;
ret->passdb = mock_passdb_mod;