<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
         bootstrap="test/bootstrap.php"
         colors="true"
         defaultTestSuite="default"
         cacheDirectory=".phpunit.cache">
  <testsuites>
    <testsuite name="default">
      <directory>./test</directory>
      <exclude>./test/ConnectTest.php</exclude>
      <exclude>./test/OfflineReconnectTest.php</exclude>
      <exclude>./test/ReconnectTest.php</exclude>
    </testsuite>
    <testsuite name="connectivity">
      <file>./test/ConnectTest.php</file>
      <file>./test/OfflineReconnectTest.php</file>
      <file>./test/ReconnectTest.php</file>
    </testsuite>
  </testsuites>
  <php>
    <!-- Laminas\Ldap online tests

             These largely map to the options described in the Laminas\Ldap and
             Laminas\Auth\Adapter\Ldap documentation.

             Example Configuration for Active Directory:
                                  HOST: dc1.w.net
                         USE_START_TLS: true
                               USE_SSL: false
                              USERNAME: CN=User 1,CN=Users,DC=w,DC=net
                        PRINCIPAL_NAME: user1@w.net
                         LDAP_PASSWORD: pass1
                               BASE_DN: CN=Users,DC=w,DC=net
                           DOMAIN_NAME: w.net
             ACCOUNT_DOMAIN_NAME_SHORT: W
                          ALT_USERNAME: user2
                                ALT_DN: CN=User 2,CN=Users,DC=w,DC=net
                          ALT_PASSWORD: pass2

             Example Configuration for OpenLDAP
                                  HOST: s0.foo.net
                              USERNAME: CN=user1,DC=foo,DC=net
                        PRINCIPAL_NAME: user1@foo.net
                         LDAP_PASSWORD: pass1
                      BIND_REQUIRES_DN: true
                               BASE_DN: OU=Sales,DC=w,DC=net
                           DOMAIN_NAME: foo.net
             ACCOUNT_DOMAIN_NAME_SHORT: FOO
                          ALT_USERNAME: abaker
                                ALT_DN: CN=Alice Baker,OU=Sales,DC=foo,DC=net
                          ALT_PASSWORD: apass
        -->
    <env name="TESTS_LAMINAS_LDAP_ONLINE_ENABLED" value="false"/>
    <env name="TESTS_LAMINAS_LDAP_HOST" value="localhost"/>
    <env name="TESTS_LAMINAS_LDAP_PORT" value="3890"/>
    <env name="TESTS_LAMINAS_LDAPS_PORT" value="6360"/>
    <env name="TESTS_LAMINAS_LDAP_SCRIPTS_PORT" value="3891"/>
    <env name="TESTS_LAMINAS_LDAP_USE_START_TLS" value="false"/>
    <env name="TESTS_LAMINAS_LDAP_USE_SSL" value="false"/>
    <env name="TESTS_LAMINAS_LDAP_USERNAME" value="cn=admin,dc=example,dc=com"/>
    <env name="TESTS_LAMINAS_LDAP_PASSWORD" value="insecure"/>
    <env name="TESTS_LAMINAS_LDAP_BIND_REQUIRES_DN" value="true"/>
    <env name="TESTS_LAMINAS_LDAP_BASE_DN" value="dc=example,dc=com"/>
    <env name="TESTS_LAMINAS_LDAP_ACCOUNT_FILTER_FORMAT" value="(&amp;(objectClass=account)(uid=%s))"/>
    <env name="TESTS_LAMINAS_LDAP_ACCOUNT_DOMAIN_NAME" value="example.com"/>
    <env name="TESTS_LAMINAS_LDAP_ACCOUNT_DOMAIN_NAME_SHORT" value="EXAMPLE"/>
    <env name="TESTS_LAMINAS_LDAP_ALT_USERNAME" value="user1"/>
    <env name="TESTS_LAMINAS_LDAP_ALT_PRINCIPAL_NAME" value="user1@example.com"/>
    <env name="TESTS_LAMINAS_LDAP_ALT_DN" value="uid=user1,dc=example,dc=com"/>
    <env name="TESTS_LAMINAS_LDAP_ALT_PASSWORD" value="user1"/>
    <env name="TESTS_LAMINAS_LDAP_WRITEABLE_SUBTREE" value="ou=test,dc=example,dc=com"/>
    <env name="TESTS_LAMINAS_LDAP_ANONYMOUS_BIND_ALLOWED" value="false"/>
    <env name="TESTS_LAMINAS_LDAP_SASL_CERTIFICATE" value=".ci/certs/client.crt"/>
    <env name="TESTS_LAMINAS_LDAP_SASL_KEY" value=".ci/certs/client.key"/>
    <env name="TESTS_LAMINAS_LDAP_IDLE_TIMEOUT" value="4"/>
  </php>
  <source>
    <include>
      <directory suffix=".php">./src</directory>
    </include>
  </source>
</phpunit>
