diff --git a/src/test/directoryserver-test.js b/src/test/directoryserver-test.js index 8327b6bf9..d698288b2 100644 --- a/src/test/directoryserver-test.js +++ b/src/test/directoryserver-test.js @@ -44,24 +44,26 @@ async function ldapSearch(dn, opts, auth) { client.bind(auth.dn, auth.secret, callback); } + function done(error, result) { + client.unbind(); + if (error) reject(error); else resolve(result); + } + bindAuth(function (error) { - if (error) return reject(error); + if (error) return done(error); client.search(dn, opts, function (error, result) { - if (error) return reject(error); + if (error) return done(error); let entries = []; result.on('searchEntry', function (entry) { entries.push(entry.object); }); - result.on('error', function (error) { - client.unbind(); - reject(error); - }); + result.on('error', done); result.on('end', function (result) { - if (result.status !== 0) return reject(new Error(`Unexpected status: ${result.status}`)); - resolve(entries); + if (result.status !== 0) return done(new Error(`Unexpected status: ${result.status}`)); + done(null, entries); }); }); });