Skip to content

Commit

Permalink
Merge pull request #547 from esl/change-ldap-domain-in-tests
Browse files Browse the repository at this point in the history
use esl.com instead of ejd.com in LDAP tests
  • Loading branch information
ppikula committed Oct 20, 2015
2 parents 0e293d4 + 9c6e3aa commit d96f143
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 42 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -8,7 +8,7 @@ install:
- tools/travis-build-tests.sh
before_script:
- tools/travis-setup-db.sh
- if [ $PRESET = 'ldap_mnesia' ]; then tools/travis-setup-ldap.sh; fi
- if [ $PRESET = 'ldap_mnesia' ]; then sudo tools/travis-setup-ldap.sh; fi
script: tools/travis-test.sh

after_script:
Expand Down
6 changes: 3 additions & 3 deletions test/ejabberd_tests/test.config
Expand Up @@ -200,13 +200,13 @@
[{sm_backend, "{mnesia, []}"},
{auth_method, "ldap"},
{auth_ldap, "{ldap_servers,[\"localhost\"]}.\n"
"{ldap_rootdn,\"cn=Manager,dc=ejd,dc=com\"}.\n"
"{ldap_rootdn,\"cn=admin,dc=esl,dc=com\"}.\n"
"{ldap_password, \"%ODBC_PASSWORD%\"}.\n"
"{ldap_base, \"ou=Users,dc=ejd,dc=com\"}.\n"
"{ldap_base, \"ou=Users,dc=esl,dc=com\"}.\n"
"{ldap_filter, \"(objectClass=inetOrgPerson)\"}.\n"
},
{mod_vcard,"{mod_vcard, [{backend, ldap},{ldap_filter,\"(objectClass=inetOrgPerson)\"},"
"{ldap_base, \"ou=Users,dc=ejd,dc=com\"}"
"{ldap_base, \"ou=Users,dc=esl,dc=com\"}"
"]},"}

]},
Expand Down
26 changes: 14 additions & 12 deletions test/ejabberd_tests/tests/shared_roster_SUITE.erl
Expand Up @@ -42,7 +42,7 @@ suite() ->
%%--------------------------------------------------------------------
%% Init & teardown
%%--------------------------------------------------------------------
init_per_suite(Config) ->
init_per_suite(Config) ->
case get_auth_method() of
ldap ->
start_roster_module(ldap),
Expand Down Expand Up @@ -78,23 +78,23 @@ end_per_testcase(CaseName,Config) ->

%% Receive presences from roster people
receive_presences(Config) ->
escalus:story(Config,[1],fun(Alice) ->
escalus:story(Config,[{alice, 1}],fun(Alice) ->
% Bob becomes available
{ok, Bob} = escalus_client:start_for(Config, bob, <<"res1">>),
escalus:send(Bob, escalus_stanza:presence(<<"available">>)),

% Alice receives presence from Bob
ReceivedA = escalus:wait_for_stanza(Alice),
escalus:assert(is_presence,ReceivedA),
escalus_assert:is_stanza_from(Bob,ReceivedA),

no_stanzas([Alice]),
escalus_client:stop(Bob)
end).

get_contacts(Config) ->
escalus:story(Config,[1],fun(Alice) ->
% Alice sends get_roster iq
escalus:story(Config,[{alice, 1}],fun(Alice) ->
% Alice sends get_roster iq
escalus_client:send(Alice, escalus_stanza:roster_get()),
Roster=escalus_client:wait_for_stanza(Alice),

Expand All @@ -109,23 +109,23 @@ delete_user(Config) ->
%% wait to invalidate the roster group cache
timer:sleep(1200),
escalus_users:delete_users(Config,{by_name, [bob]}),
escalus:story(Config,[1],fun(Alice) ->
escalus:story(Config,[{alice, 1}],fun(Alice) ->
escalus_client:send(Alice, escalus_stanza:roster_get()),
Roster=escalus_client:wait_for_stanza(Alice),

escalus:assert(is_roster_result,Roster),
escalus:assert(count_roster_items,[NumOfOtherUsers],Roster)
end).

add_user(Config) ->
escalus_users:create_users(Config,{by_name, [bob]}),
timer:sleep(1200),
escalus:story(Config,[1],fun(Alice) ->
escalus:story(Config,[{alice, 1}],fun(Alice) ->
NumOfOtherUsers = length(escalus_users:get_users(?USERS))-1,

escalus_client:send(Alice, escalus_stanza:roster_get()),
Roster=escalus_client:wait_for_stanza(Alice),

escalus:assert(is_roster_result,Roster),
escalus:assert(count_roster_items,[NumOfOtherUsers],Roster)
end).
Expand All @@ -134,7 +134,9 @@ add_user(Config) ->
%% Helpers
%%--------------------------------------------------------------------
start_roster_module(ldap) ->
case escalus_ejabberd:rpc(gen_mod, start_module, [ct:get_config(ejabberd_domain), mod_shared_roster_ldap, get_ldap_args()]) of
case escalus_ejabberd:rpc(gen_mod, start_module,
[ct:get_config(ejabberd_domain),
mod_shared_roster_ldap, get_ldap_args()]) of
{badrpc, Reason} ->
ct:fail("Cannot start module ~p reason ~p", [mod_shared_roster, Reason]);
_ -> ok
Expand All @@ -157,7 +159,7 @@ get_auth_method() ->

get_ldap_args() ->
[
{ldap_base, "ou=Users,dc=ejd,dc=com"},
{ldap_base, "ou=Users,dc=esl,dc=com"},
{ldap_groupattr, "ou"},
{ldap_memberattr, "cn"},{ldap_userdesc, "cn"},
{ldap_filter, "(objectClass=inetOrgPerson)"},
Expand Down
2 changes: 1 addition & 1 deletion test/ejabberd_tests/tests/vcard_simple_SUITE.erl
Expand Up @@ -452,7 +452,7 @@ configure_ldap_vcards(Config) ->
dynamic_modules:stop(Domain, mod_vcard),
Cfg = [{backend,ldap},
{ldap_filter,"(objectClass=inetOrgPerson)"},
{ldap_base,"ou=Users,dc=ejd,dc=com"},
{ldap_base,"ou=Users,dc=esl,dc=com"},
{ldap_search_fields, [{"Full Name","cn"},{"User","uid"}]},
{ldap_vcard_map,[{"FN",[{"%s",["cn"]}]}]}],
dynamic_modules:start(Domain, mod_vcard, Cfg),
Expand Down
54 changes: 29 additions & 25 deletions tools/travis-setup-ldap.sh
@@ -1,34 +1,38 @@
#!/bin/sh

LDAP_P=`cat /tmp/travis_db_password`

LDAP_ROOT="cn=Manager,dc=ejd,dc=com"

cat > manager.ldif << EOL
dn: olcDatabase={1}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=ejd,dc=com
-
replace: olcRootDN
olcRootDN: ${LDAP_ROOT}
-
replace: olcRootPW
olcRootPW: ${LDAP_P}
EOL
LDAP_ROOTPASS=`cat /tmp/travis_db_password`

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f manager.ldif
LDAP_ROOT="cn=admin,dc=esl,dc=com"
LDAP_DOMAIN="esl.com"
LDAP_ORGANISATION="Erlang Solutions"

cat > init_entries.ldif << EOL
dn: dc=ejd,dc=com
dc: ejd
objectClass: dcObject
objectClass: organizationalUnit
ou: ejd
echo "configuring slapd"

cat <<EOF | debconf-set-selections
slapd slapd/internal/generated_adminpw password ${LDAP_ROOTPASS}
slapd slapd/internal/adminpw password ${LDAP_ROOTPASS}
slapd slapd/password2 password ${LDAP_ROOTPASS}
slapd slapd/password1 password ${LDAP_ROOTPASS}
slapd slapd/dump_database_destdir string /var/backups/slapd-VERSION
slapd slapd/domain string ${LDAP_DOMAIN}
slapd shared/organization string ${LDAP_ORGANISATION}
slapd slapd/backend string HDB
slapd slapd/purge_database boolean true
slapd slapd/move_old_database boolean true
slapd slapd/allow_ldap_v2 boolean false
slapd slapd/no_configuration boolean false
slapd slapd/dump_database select when needed
EOF

dn: ou=Users,dc=ejd,dc=com
dpkg-reconfigure -f noninteractive slapd

service slapd restart


cat > init_entries.ldif << EOL
dn: ou=Users,dc=esl,dc=com
objectClass: organizationalUnit
ou: users
EOL

ldapadd -x -D${LDAP_ROOT} -f init_entries.ldif -w ${LDAP_P}
ldapadd -x -D${LDAP_ROOT} -f init_entries.ldif -w ${LDAP_ROOTPASS}

0 comments on commit d96f143

Please sign in to comment.