Socket
Book a DemoInstallSign in
Socket

@simulacrum/ldap-simulator

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@simulacrum/ldap-simulator

Run local LDAP server with specific users for local development and integration testing

latest
npmnpm
Version
0.5.5
Version published
Maintainers
1
Created
Source

@simulacrum/ldap-simulator

Simulate an actual LDAP server for testing and development.

Often you are working on software that depends on the presence of an LDAP directory. This let's you create an LDAP server in a known state that can be used for offline development and testing.

There are two different ways to start an LDAP simulator, but they both involve the same set of options. If you are running in a vanilla JavaScript environment, you can use promise-based API.

Plain JavaScript

import { runLDAPServer } from "@simulacrum/ldap-simulator";

async function run() {
  let server = await runLDAPServer({
    port: 3890,
    baseDN: "ou=users,dc=org.com",
    bindDn: "admin@org.com",
    bindPassword: "password",
    groupDN:"ou=groups,dc=org.com",
    users: [{
      //required
      cn: 'Charles Lowell',
      //optional to bind using this user
      password: "super-secret-but-not-really",
      //optional:
      uid: 'cowboyd',

    }]
  });
  console.log(`LDAP server running on ${server.port}`);
  try {
    //.... do some stuff;
  } finally {
    // don't forget to release the server resources!
    await server.close();
  }
}

Effection

However, if you are already using Effection, the LDAP server is available as a Resource, and so you can use it freely in any context:

import { createLDAPServer } from "@simulacrum/ldap-simulator";

function* run() {
  let server = yield createLDAPServer({
    port: 3890,
    baseDN: "ou=users,dc=org.com",
    bindDn: "admin@org.com",
    bindPassword: "password",
    groupDN:"ou=groups,dc=org.com",
    users: [{
      //required
      cn: 'Charles Lowell',
      //optional to bind using this user
      password: "super-secret-but-not-really",
      //optional:
      uid: 'cowboyd',

    }]
  });

  //... do some stuff
}

Keywords

simulation

FAQs

Package last updated on 08 Sep 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts