Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Minimum software requirements:
a. clone git latest:
git clone https://gitbox.apache.org/repos/asf/directory-fortress-core.git cd directory-fortress-core
b. or clone git release:
git clone --branch [version] https://gitbox.apache.org/repos/asf/directory-fortress-core.git cd directory-fortress-core
c. or download source package from Apache:
wget https://www.apache.org/dist/directory/fortress/dist/[version]/fortress-core-[version]-source-release.zip unzip fortress-core-[version]-source-release.zip cd fortress-core-[version]
a. build the OpenLDAP docker image (trailing dot matters):
docker build -t apachedirectory/openldap-for-apache-fortress-tests -f src/docker/openldap-for-apache-fortress-tests/Dockerfile .
b. or pull the prebuilt image:
docker pull apachedirectory/openldap-for-apache-fortress-tests
docker run --name=openldap -d -p 389:389 -P apachedirectory/openldap-for-apache-fortress-tests
root@localhost:/opt/fortress/directory-fortress-core# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8ca5feb67906 apachedirectory/openldap-for-apache-fortress-tests "/opt/symas/lib/slap…" 3 seconds ago Up 2 seconds 0.0.0.0:389->389/tcp, :::389->389/tcp openldap
a. start
docker run --name=openldap -d -p 389:389 -P apachedirectory/openldap-for-apache-fortress-tests
b. stop
docker stop openldap
c. remove
docker rm openldap
d. view the logs
docker logs openldap
e. inspect
docker inspect openldap
f. connect via bash
docker exec -it openldap bash
g. version of slapd running in container
root@c88f854e2e73:/# /opt/symas/lib/slapd -VV
#!/bin/bash export M2_HOME=... export JAVA_HOME=... export PATH=$PATH:$M2_HOME/bin
cp build.properties.example build.properties cp slapd.properties.example slapd.properties
mvn clean install
mvn install -Dload.file=./ldap/setup/refreshLDAPData.xml
These will build the Directory Information Tree (DIT), create the config and data policies needed for the integration test to follow.
mvn -Dtest=FortressJUnitTest test
More about this step:
NUMBER OF ADDS: 1146 NUMBER OF BINDS: 1131 NUMBER OF DELETES: 0 NUMBER OF MODS: 4247 NUMBER OF READS: 22885 NUMBER OF SEARCHES: 9684 Tests run: 133, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 323.006 sec - in org.apache.directory.fortress.core.impl.FortressJUnitTest Results : Tests run: 133, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] --- maven-antrun-plugin:1.8:run (fortress-load) @ fortress-core --- [INFO] Executing tasks fortress-load: [INFO] Executed tasks [INFO] [INFO] --- maven-antrun-plugin:1.8:run (fortress-load-debug) @ fortress-core --- [INFO] Executing tasks fortress-load-debug: [INFO] Executed tasks [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 05:45 min [INFO] Finished at: 2022-01-02T15:04:13Z [INFO] ------------------------------------------------------------------------
mvn -Dtest=FortressJUnitTest test
NUMBER OF ADDS: 993 NUMBER OF BINDS: 1131 NUMBER OF DELETES: 1355 NUMBER OF MODS: 8389 NUMBER OF READS: 30040 NUMBER OF SEARCHES: 12221 Tests run: 167, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 369.396 sec - in org.apache.directory.fortress.core.impl.FortressJUnitTest Results : Tests run: 167, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] --- maven-antrun-plugin:1.8:run (fortress-load) @ fortress-core --- [INFO] Executing tasks fortress-load: [INFO] Executed tasks [INFO] [INFO] --- maven-antrun-plugin:1.8:run (fortress-load-debug) @ fortress-core --- [INFO] Executing tasks fortress-load-debug: [INFO] Executed tasks [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 06:33 min [INFO] Finished at: 2022-01-02T15:13:10Z [INFO] ------------------------------------------------------------------------
Notice more tests ran this time vs the first time, due to teardown
Test Notes:
docker build -t apachedirectory/openldap-for-apache-fortress-tests -f src/docker/openldap-for-apache-fortress-tests/Dockerfile .
Or just to be sure don't use cached layers:
docker build --no-cache=true -t apachedirectory/openldap-for-apache-fortress-tests -f src/docker/openldap-for-apache-fortress-tests/Dockerfile .
docker run --name=openldap -d -p 32768:389 -P apachedirectory/openldap-for-apache-fortress-tests
docker exec -it openldap
docker restart openldap
docker stop openldap
docker rm openldap