[comment]: # translation:outdated

[comment]: # ({caf91c6b-f9e8f670})
# userdirectory.test

[comment]: # ({/caf91c6b-f9e8f670})

[comment]: # ({99f1236b-b5ff62ed})
### Description

`object userdirectory.test(array userDirectory)`

Cette méthode permet de tester les paramètres de connexion de l’annuaire d’utilisateurs.

::: noteclassic
Cette méthode permet également de tester quelles données configurées correspondent aux paramètres de l’annuaire d’utilisateurs pour le provisionnement des utilisateurs
(par exemple, quel rôle utilisateur, quels groupes d’utilisateurs, quels médias utilisateur seront attribués à l’utilisateur).
Pour ce type de test, la requête API doit être effectuée pour un [annuaire d’utilisateurs](/manual/api/reference/userdirectory/object#userdirectory) dont `provision_status` est défini sur activé.
:::

::: noteclassic
Cette méthode est disponible uniquement pour le type d’utilisateur *Super admin*.
:::

[comment]: # ({/99f1236b-b5ff62ed})

[comment]: # ({72d24aee-d99c84a0})
### Paramètres

`(object)` Propriétés du répertoire d'utilisateurs.

Comme l'API `userdirectory.get` ne renvoie pas le champ `bind_password`, `userdirectoryid` et/ou `bind_password` doivent être fournis.<br>
En plus des [propriétés standard du répertoire d'utilisateurs](object#userdirectory), la méthode accepte les paramètres suivants.

|Paramètre|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|test_username|string|Nom d'utilisateur à tester dans le répertoire d'utilisateurs.|
|test_password|string|Mot de passe associé au nom d'utilisateur à tester dans le répertoire d'utilisateurs.|

[comment]: # ({/72d24aee-d99c84a0})

[comment]: # ({0a19e6a5-99a75467})
### Valeurs de retour

`(bool)` Renvoie true en cas de succès.

[comment]: # ({/0a19e6a5-99a75467})

[comment]: # ({b41637d2-47b9eb66})
### Exemples

[comment]: # ({/b41637d2-47b9eb66})

[comment]: # ({0ec66727-9f73d089})
##### Tester le répertoire d’utilisateurs pour un utilisateur existant

Tester le répertoire d’utilisateurs « 3 » pour « user1 ».

[Requête](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "userdirectory.test",
    "params": {
        "userdirectoryid": "3",
        "host": "127.0.0.1",
        "port": "389",
        "base_dn": "ou=Users,dc=example,dc=org",
        "search_attribute": "uid",
        "bind_dn": "cn=ldap_search,dc=example,dc=org",
        "bind_password": "password",
        "test_username": "user1",
        "test_password": "password"
    },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "result": true,
    "id": 1
}
```

[comment]: # ({/0ec66727-9f73d089})

[comment]: # ({fa573532-a8a25347})
##### Tester le répertoire d’utilisateurs pour un utilisateur inexistant

Tester le répertoire d’utilisateurs « 3 » pour l’utilisateur inexistant « user2 ».

[Requête](/manual/api#performing-requests) :

```json
{
    "jsonrpc": "2.0",
    "method": "userdirectory.test",
    "params": {
        "userdirectoryid": "3",
        "host": "127.0.0.1",
        "port": "389",
        "base_dn": "ou=Users,dc=example,dc=org",
        "search_attribute": "uid",
        "bind_dn": "cn=ldap_search,dc=example,dc=org",
        "test_username": "user2",
        "test_password": "password"
    },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "error": {
        "code": -32500,
        "message": "Erreur d’application.",
        "data": "Nom d’utilisateur ou mot de passe incorrect, ou compte temporairement bloqué."
    },
    "id": 1
}
```

[comment]: # ({/fa573532-a8a25347})

[comment]: # ({79a981ca-54c18b14})
##### Tester l'annuaire utilisateur pour le provisionnement des utilisateurs

Tester l'annuaire utilisateur « 3 » afin de vérifier quelles données configurées correspondent aux paramètres de l'annuaire utilisateur pour le provisionnement de « user3 »
(par exemple, quel rôle utilisateur, quels groupes d'utilisateurs et quels médias utilisateur seront attribués à l'utilisateur).

[Requête](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "userdirectory.test",
    "params": {
        "userdirectoryid": "2",
        "host": "host.example.com",
        "port": "389",
        "base_dn": "DC=zbx,DC=local",
        "search_attribute": "sAMAccountName",
        "bind_dn": "CN=Admin,OU=Users,OU=Zabbix,DC=zbx,DC=local",
        "test_username": "user3",
        "test_password": "password"
    },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "result": {
        "username": "user3",
        "name": "John",
        "surname": "Doe",
        "medias": [],
        "usrgrps": [
            {
                "usrgrpid": "8"
            },
            {
                "usrgrpid": "7"
            }
        ],
        "roleid": "2",
        "userdirectoryid": "2"
    },
    "id": 1
}
```

[comment]: # ({/79a981ca-54c18b14})

[comment]: # ({e28d4bf9-0402a0f4})
### Source

CUserDirectory::test() dans *ui/include/classes/api/services/CUserDirectory.php*.

[comment]: # ({/e28d4bf9-0402a0f4})
