Arthur Schiwon c1480aade4 refactor(LDAP): pass IConfig via constructor to Group_LDAP 1 年之前
..
Lib c1480aade4 refactor(LDAP): pass IConfig via constructor to Group_LDAP 1 年之前
data 4ad622a720 compress some images with tinypng.com 4 年之前
setup-scripts cb057829f7 Update license headers for 19 4 年之前
AbstractIntegrationTest.php b0938b9083 Refactors "strpos" calls in /apps/user_ldap to improve code readability. 1 年之前
Bootstrap.php 215aef3cbd Update php licenses 3 年之前
ExceptionOnLostConnection.php f3dcbfe146 Fix PHP 8.1 support for user_ldap application 2 年之前
readme.md 3ef8c95b37 Move tests/ to PSR-4 8 年之前
run-all.sh a619d349bf add convenience script to run all tests at once 7 年之前
run-test.sh 3ef8c95b37 Move tests/ to PSR-4 8 年之前

readme.md

Requirements

Have (as in do copy if not already done) the following files from https://github.com/owncloud/administration/tree/master/ldap-testing copied into the directory "setup-scripts":

  • start.sh
  • stop.sh
  • config.php

Configure config.php according to your needs, also have a look into the LDAP and network settings in start.sh and stop.sh.

Usage

The basic command to run a test is:


Yes, run it as root from within this directory.

Example:

$ sudo ./run-test.sh lib/IntegrationTestAccessGroupsMatchFilter.php 71cbe88a4993e67066714d71c1cecc5ef26a54911a208103cb6294f90459e574 c74dc0155db4efa7a0515d419528a8727bbc7596601cf25b0df05e348bd74895 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c74dc0155d osixia/phpldapadmin:0.5.1 "/sbin/my_init" 1 seconds ago Up Less than a second 80/tcp, 0.0.0.0:8443->443/tcp docker-phpldapadmin
71cbe88a49 nickstenning/slapd:latest "/sbin/my_init" 1 seconds ago Up Less than a second 127.0.0.1:7770->389/tcp docker-slapd

LDAP server now available under 127.0.0.1:7770 (internal IP is 172.17.0.78) phpldapadmin now available under https://127.0.0.1:8443

created user : Alice Ealic created group : RedGroup created group : BlueGroup created group : GreenGroup created group : PurpleGroup running case1 running case2 Tests succeeded Stopping and resetting containers docker-slapd docker-phpldapadmin docker-slapd docker-phpldapadmin ```

How it works

  1. start.sh is executed which brings up a fresh and clean OpenLDAP in Docker.
  2. The provided test script is executed. It also outputs results.
  3. stop.sh is executed to shut down OpenLDAP

Beware

This is quick solution for basically one test case. With expension this mechanism should be improved as well.

It does not run automatically, unless you do it. No integration with any testing framework.

exceptionOnLostConnection.php is not part of this mechanism. Read its source and run it isolated. While you're at it, port it :þ