UNPKG

ad-promise

Version:

This is a fork of the gheeres node-activedirectory. It fixes some issues with timeouts with very large AD-Groups as well as returning also promises so you won't have to use callbacks

208 lines (207 loc) 6.37 kB
module.exports = { // Test settings for authentication authenticate: { username: { userPrincipalName: 'username@domain.com', domainUsername: 'DOMAIN\\username', dn: 'CN=First Last Name,OU=Domain Users,DC=domain,DC=com', }, password: 'password' }, // Test settings for isUserMemberOf isUserMemberOf: { sAMAccountName: 'username', userPrincipalName: 'username@domain.com', dn: 'CN=First Last Name,OU=Domain Users,DC=domain,DC=com', groupName: { dn: 'CN=My Users,OU=Domain Groups,DC=domain,DC=com', cn: 'My Users', // CN or DN of an indirect or nested group membership. // (i.e. member of a group that contains a group that the user is a member of) nested: 'My Nested Users' } }, // Test settings for groupExists groupExists: { groupName: { dn: 'CN=My Users,OU=Domain Groups,DC=domain,DC=com', cn: 'My Users' } }, // Test settings for userExists userExists: { username: { userPrincipalName: 'username@domain.com', sAMAccountName: 'username', dn: 'CN=First Last Name,OU=Domain Users,DC=domain,DC=com' } }, // Test settings for getGroupMembershipForGroup getGroupMembershipForGroup: { groups: [ { dn: 'CN=My Users,OU=Domain Groups,DC=domain,DC=com', cn: 'My Users', // The list of groups (commonName) that this group is a member of. members: [ 'VPN Users', 'Web Users' ] }, { dn: 'CN=Authors,OU=Domain Groups,DC=domain,DC=com', cn: 'Authors', // The list of groups (commonName) that this group is a member of. members: [ 'Editors', 'Contributors', 'Web Editors', 'Web Users' ] } ] }, // Test settings for getGroupMembershipForUser getGroupMembershipForUser: { users: [ { dn: 'First Last Name,OU=Domain Users,DC=domain,DC=com', sAMAccountName: 'username', userPrincipalName: 'username@domain.com', // The list of groups (commonName) that this user is a member of. members: [ 'My Users', 'VPN Users', 'Authors' ] }, { dn: 'CN=Web Administrator,OU=Domain Admins,DC=domain,DC=com', sAMAccountName: 'webadmin', userPrincipalName: 'webadmin@domain.com', // The list of groups (commonName) that this user is a member of. members: [ 'My Users', 'Web Administrator', 'Domain Admins' ] } ] }, // Test settings for getGroupMembershipForGroup getUsersForGroup: { groups: [ { dn: 'CN=All Users,OU=Distribution Lists,DC=domain,DC=com', cn: 'All Users', // The list of users (dn) that are members of this group. users: [ 'CN=First Last Name #1,OU=Domain Users,DC=domain,DC=com', 'CN=First Last Name #2,OU=Domain Users,DC=domain,DC=com', 'CN=First Last Name #3,OU=Domain Users,DC=domain,DC=com', ] }, { dn: 'CN=Budget Users,OU=Domain Groups,DC=domain,DC=com', cn: 'Budget Users', // The list of users (dn) that are members of this group. users: [ 'CN=First Last Name #1,OU=Domain Users,DC=domain,DC=com', ] } ] }, // Test settings for findUser findUser: { username: { userPrincipalName: 'username@domain.com', sAMAccountName: 'username', dn: 'CN=First Last Name,OU=Domain Users,DC=domain,DC=com', }, // The list of groups that this user is a member of groups: [ 'My Users', 'Authors' ], opts: { custom: '(userPrincipalName=anotheruser@domain.com)', // Make sure this user is different than the one specified // in username.userPrincipalName multipleFilter: '(CN=Smith*)' // Ensure this query returns more than one user. } }, // Test settings for findGroup findGroup: { groupName: { dn: 'CN=My Group,OU=Domain Groups,DC=domain,DC=com', cn: 'My Group', }, groups: [ 'Another Group', 'Yet Another Group', 'Authors' ], opts: { custom: '(cn=Budget Users)', // Make sure this user is different than the one specified // in groupname.cn multipleFilter: '(&(objectCategory=Group)(cn=Admin*))' // Ensure this query returns more than one user. } }, findUsers: { users: [ { query: 'CN=Smith*', results: [ 'John Smith', 'Bob Smith' ] }, { // A custom query that includes groups, should only return users results. query: 'CN=*Director', results: [ 'Budget Director', 'Accounts Receivable Director' ] }, { // A query that returns NO users. query: { filter: 'CN=My Group' }, results: [ ] } ] }, findGroups: { groups: [ { query: 'CN=My Group*', results: [ 'My Group #1', 'My Group #2' ], }, { // A custom query that includes users, should only return group results. query: { filter: 'CN=*Director*' }, results: [ 'All Directors', 'System Directors' ] }, { query: 'CN=Account - *', results: [ 'Account - Department #1', 'Account - Department #2', 'Account - Department #3', 'Account - Department #4' ], }, { // A custom query that returns no groups query: 'userPrincipalName=username@domain.com', results: [ ] } ] }, find: { queries: [ { query: 'CN=Parking*', results: { users: [ 'Parking Attendant #1', 'Parking Attendant #2' ], groups: [ 'Parking Department', 'Parking Users' ], other: [ 'parking-computer-01', 'parking-computer-02' ] } }, { query: { filter: '(&(CN=Security*)' }, results: { users: [ ], groups: [ 'Security Users', 'Security Owners' ], other: [ 'security-test-01', 'security-test-02', 'security-audit-01' ], } } ] }, };