File: test_authenticator_creates_client.py

package info (click to toggle)
python-certbot-dns-hetzner-cloud 1.0.5-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 168 kB
  • sloc: python: 317; makefile: 8
file content (25 lines) | stat: -rw-r--r-- 1,019 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import pytest
from unittest.mock import MagicMock, patch, ANY
from certbot_dns_hetzner_cloud.authenticator import HetznerCloudDNSAuthenticator

def test_setup_credentials_creates_client():
    auth = object.__new__(HetznerCloudDNSAuthenticator)

    mock_credentials = MagicMock()
    mock_credentials.conf.return_value = "dummy_token"

    with patch.object(auth, "_configure_credentials", return_value=mock_credentials) as mock_configure, \
         patch("certbot_dns_hetzner_cloud.authenticator.HetznerCloudHelper", autospec=True) as mock_helper:

        auth._setup_credentials()

        mock_configure.assert_called_once_with(
            "credentials",
            ANY,
            {"api_token": "Hetzner Cloud API Token"},
        )
        mock_helper.assert_called_once_with("dummy_token")

        # Falls du in _setup_credentials auf hetzner_dns_helper umgestellt hast:
        client = getattr(auth, "hetzner_dns_helper", getattr(auth, "_client", None))
        assert client is mock_helper.return_value