summaryrefslogtreecommitdiffstats
path: root/awxkit/test/test_ws.py
blob: afc6b42fc58250e98fae5ae18c5a9c57babd1d03 (plain)
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
# -*- coding: utf-8 -*-
from collections import namedtuple

from unittest.mock import patch
import pytest

from awxkit.ws import WSClient

ParseResult = namedtuple("ParseResult", ["port", "hostname", "secure"])

def test_explicit_hostname():
    client = WSClient("token", "some-hostname", 556, False)
    assert client.port == 556
    assert client.hostname == "some-hostname"
    assert client._use_ssl == False
    assert client.token == "token"


@pytest.mark.parametrize('url, result',
                         [['https://somename:123', ParseResult(123, "somename", True)],
                          ['http://othername:456', ParseResult(456, "othername", False)],
                          ['http://othername', ParseResult(80, "othername", False)],
                          ['https://othername', ParseResult(443, "othername", True)],
])
def test_urlparsing(url, result):
    with patch("awxkit.ws.config") as mock_config:
        mock_config.base_url = url

        client = WSClient("token")
        assert client.port == result.port
        assert client.hostname == result.hostname
        assert client._use_ssl == result.secure