File: test_main.py

package info (click to toggle)
python-zeep 4.3.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,600 kB
  • sloc: python: 15,551; makefile: 13
file content (33 lines) | stat: -rw-r--r-- 928 bytes parent folder | download | duplicates (3)
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
26
27
28
29
30
31
32
33
from unittest.mock import patch

from pretend import stub

from zeep import __main__, client


def test_main_no_args(monkeypatch):
    def mock_init(self, *args, **kwargs):
        self.wsdl = stub(dump=lambda: None)

    monkeypatch.setattr(client.Client, "__init__", mock_init)
    args = __main__.parse_arguments(["foo.wsdl"])
    __main__.main(args)


def test_main_extract_auth(monkeypatch):
    def mock_init(self, *args, **kwargs):
        self.wsdl = stub(dump=lambda: None)

    monkeypatch.setattr(client.Client, "__init__", mock_init)

    with patch.object(__main__, "Transport", autospec=True) as mock_transport:
        args = __main__.parse_arguments(
            ["http://user:secret@tests.python-zeep.org/foo.wsdl"]
        )

        __main__.main(args)

        assert mock_transport.call_count == 1

        args, kwargs = mock_transport.call_args
        assert kwargs["session"].auth == ("user", "secret")