diff --git a/test/test-config-resolve-console-id.c b/test/test-config-resolve-console-id.c
index 84bc5b3..d84ebd1 100644
--- a/test/test-config-resolve-console-id.c
+++ b/test/test-config-resolve-console-id.c
@@ -4,6 +4,26 @@
 
 #include "config.c"
 
+static struct config *config_mock(char *key, char *value)
+{
+	char buf[CONFIG_MAX_KEY_LENGTH];
+	struct config *config;
+	int rc;
+
+	config = malloc(sizeof(struct config));
+	assert(config != NULL);
+
+	config->dict = dictionary_new(1);
+	assert(config->dict != NULL);
+
+	rc = snprintf(buf, CONFIG_MAX_KEY_LENGTH, ":%s", key);
+	assert(rc >= 0 && (size_t)rc < sizeof(buf));
+
+	dictionary_set(config->dict, buf, value);
+
+	return config;
+}
+
 static void test_independence_cmdline_optarg(void)
 {
 	const char *console_id;
@@ -21,12 +41,8 @@
 {
 	const char *console_id;
 	struct config *ctx;
-	char *buf;
 
-	ctx = calloc(1, sizeof(*ctx));
-	buf = strdup("console-id = " TEST_CONSOLE_ID);
-	config_parse(ctx, buf);
-	free(buf);
+	ctx = config_mock("console-id", TEST_CONSOLE_ID);
 	console_id = config_resolve_console_id(ctx, NULL);
 
 	assert(!strcmp(console_id, TEST_CONSOLE_ID));
@@ -38,12 +54,8 @@
 {
 	const char *console_id;
 	struct config *ctx;
-	char *buf;
 
-	ctx = calloc(1, sizeof(*ctx));
-	buf = strdup("socket-id = " TEST_CONSOLE_ID);
-	config_parse(ctx, buf);
-	free(buf);
+	ctx = config_mock("socket-id", TEST_CONSOLE_ID);
 	console_id = config_resolve_console_id(ctx, NULL);
 
 	/*
@@ -70,15 +82,10 @@
 
 static void test_precedence_cmdline_optarg(void)
 {
-	static const char *const config = "console-id = console\n";
 	const char *console_id;
 	struct config *ctx;
-	char *buf;
 
-	ctx = calloc(1, sizeof(*ctx));
-	buf = strdup(config);
-	config_parse(ctx, buf);
-	free(buf);
+	ctx = config_mock("console-id", "console");
 	console_id = config_resolve_console_id(ctx, TEST_CONSOLE_ID);
 
 	assert(config_get_value(ctx, "console-id"));
@@ -89,15 +96,10 @@
 
 static void test_precedence_config_console_id(void)
 {
-	static const char *const config = "console-id = console\n";
 	const char *console_id;
 	struct config *ctx;
-	char *buf;
 
-	ctx = calloc(1, sizeof(*ctx));
-	buf = strdup(config);
-	config_parse(ctx, buf);
-	free(buf);
+	ctx = config_mock("console-id", "console");
 	console_id = config_resolve_console_id(ctx, NULL);
 
 	assert(config_get_value(ctx, "console-id"));
